我有一个变量(unsigned int)part_1
。
如果我这样做:
输出NSLog(@"%u %08x", part_1, part_1);
(打印无符号值和十六进制值):
2063597568 7b000000
(只有前两个会有值)。
我想将其转换为
0000007b
所以我试过了
unsigned int part_1b = part_1 >> 6
(以及许多变体)
但是这会输出:
32243712 01ec0000
我哪里错了?
答案 0 :(得分:11)
您想要移位6 * 4 = 24位,而不仅仅是6位。十六进制printf中的每个'0'代表4位。
unsigned int part_1b = part_1 >> 24;
^^