5

変数 (unsigned int) がありpart_1ます。

私がこれを行うと:( NSLog(@"%u %08x", part_1, part_1);符号なし値と16進値を出力)出力:

2063597568 7b000000

(最初の 2 つだけが値を持ちます)。

これを変換したい

0000007b

だから私はやってみました unsigned int part_1b = part_1 >> 6(そしてたくさんのバリエーション)

しかし、これは次のように出力します:

32243712 01ec0000

どこが間違っているのですか?

4

1 に答える 1

11

6ビットだけでなく、6 * 4 = 24ビットシフトしたい。16 進数の printf の各「0」は 4 ビットを表します。

unsigned int part_1b = part_1 >> 24;
                                 ^^
于 2013-11-05T17:00:26.290 に答える