誰かがこれらの 2 つのビット マスクの読み方を説明できますか?
uint32_t = 0x1 << 0;
uint32_t = 0x1 << 1;
基本的に、これをコードが読めない人にどのように翻訳しますか? 小さいのはどっち?
誰かがこれらの 2 つのビット マスクの読み方を説明できますか?
uint32_t = 0x1 << 0;
uint32_t = 0x1 << 1;
基本的に、これをコードが読めない人にどのように翻訳しますか? 小さいのはどっち?
0x1 は 1 の 16 進値であり、2 進数では ~001 として表されます。0 ビット シフトを 0x1 に適用すると、実際には何もシフトしていないため、値は変更されません。1 をシフトすると、~010 の表現が表示されます。これは、2 の列に 1 があり、他のすべての場所にゼロがあるため、古き良き数値では 2 です。
したがって、uint32_t i = 0x1 << 0;
より小さい値を持ちuint32_t j = 0x1 << 1;
ます。
uint32_t i = 0x1 << 0;
uint32_t j = 0x1 << 1;
NSLog(@"%u",i); // outputs 1
NSLog(@"%u",j); // outputs 2