我有一个 int 类型的数值 136970250 (1000 0010 1010 0000 0000 0000 1010),需要去除所有奇数位 (1, 3, 5, 7...)。
1000 0010 1010 0000 0000 0000 1010 -> 10 0111 0000 0011 (9987) - 因为这些位没有信息。
如何实现呢?
1000 0010 1010 0000 0000 0000 1010 -> 10 0111 0000 0011 (9987) - 因为这些位没有信息。
如何实现呢?
0xAA
的掩码(例如32位数字的0xAAAAAAAA
),然后与原始数字进行AND操作?(或者如果您实际上想要的是偶数位,则对于每个字节使用0x55
) - David C. Rankin