c 得到整数的第 n 个字节

标签 c byte shift bit-shift

我知道您可以使用

获取第一个字节
int x = number & ((1<<8)-1);

int x = number & 0xFF;

但是我不知道如何得到一个整数的第n个字节。 例如,1234 是 00000000 00000000 00000100 11010010 作为 32 位整数 我怎样才能得到所有这些字节?第一个是 210,第二个是 4,最后两个是 0。

最佳答案

int x = (number >> (8*n)) & 0xff;

第一个字节 n 为 0,第二个字节为 1,依此类推。

关于c 得到整数的第 n 个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7787423/

相关文章:

dart - dart 中的 ByteBuffer.wrap 相当于什么?

c++ - char数组的左移操作

jquery 在多选中选择了 Shift 选项?

c - 对完成 struct wordcounter 的 sizeof 应用无效

c - 错误(DCC :1086):redeclaration of uint16_t

c - 在C语言中,如何获取两个括号之间的字符串?

C++ 在字节 vector 和 wstring 之间转换

printing - 使用 bytes.replace 时有没有办法使用通配符?

jquery keyup 按住 Shift 和数字键盘键

c - 诸如 printf() 之类的函数在 Linux 和 Windows 上的实现方式是否不同?