【问题标题】:Bitwise right shift >> in Objective-CObjective-C中的按位右移>>
【发布时间】:2013-11-05 16:57:54
【问题描述】:

我有一个变量(无符号整数)part_1

如果我这样做: NSLog(@"%u %08x", part_1, part_1);(打印无符号值和十六进制值)它输出:

2063597568 7b000000

(只有前两个会有值)。

我想把它转换成

0000007b

所以我尝试过 unsigned int part_1b = part_1 >> 6(还有很多变化)

但是这个输出:

32243712 01ec0000

我哪里错了?

【问题讨论】:

    标签: ios objective-c c bit-manipulation shift


    【解决方案1】:

    您希望移动 6*4 = 24 位,而不仅仅是 6 位。十六进制 printf 中的每个 '0' 代表 4 位。

    unsigned int part_1b = part_1 >> 24;
                                     ^^
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      相关资源
      最近更新 更多