[英]Bitwise right shift >> in Objective-C
我有一個變量(unsigned int) part_1
。
如果我這樣做: NSLog(@"%u %08x", part_1, part_1);
(輸出無符號值和十六進制值)輸出:
2063597568 7b000000
(只有前兩個會有值)。
我想把它轉換成
0000007b
所以我試過做unsigned int part_1b = part_1 >> 6
(以及很多變化)
但這輸出:
32243712 01ec0000
我哪里錯了?
您想要移位6 * 4 = 24位,而不僅僅是6位。 十六進制printf中的每個'0'代表4位。
unsigned int part_1b = part_1 >> 24;
^^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.