【发布时间】:2011-12-08 21:37:45
【问题描述】:
我知道你可以使用
int x = number & ((1<<8)-1);
或
int x = number & 0xFF;
但我不知道如何获取整数的第 n 个字节。 例如,1234 是 00000000 00000000 00000100 11010010 作为 32 位整数 我怎样才能得到所有这些字节?第一个是 210,第二个是 4,最后两个是 0。
【问题讨论】:
-
您已经在示例中使用了位移运算符
<<。您如何使用移位运算符从您的号码中获取不同的位? -
尝试其他位移运算符。
-
请记住,“第一个字节”——正如你在这里使用的那样——可能不是内存中的第一个字节。您的示例 1234 很容易在最低地址处为
11010010,在最高地址处为00000000。