c - 按位运算写入整数的单个字节

标签 c bitwise-operators

如何设置 64 位无符号整数的第 n 个字节,而不考虑 c 中的字节序类型?我尝试过的一种可能方法是在循环中设置每一位。

最佳答案

假设 n = 0 是最低有效字节,为什么不能只执行以下操作:

x |= (0xffull << (n * 8));

如果 x = 0 且 n = 2,则将 x 设置为 0x0ff0000。除非我遗漏了什么?我不明白字节顺序与问题有什么关系。

关于c - 按位运算写入整数的单个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17553086/

相关文章:

php - 如何解决这个重名错误?

c - 使用 wchar.h 比较 UTF-8 字符时遇到问题

c - C-String 的字节大小之间的差异

C++: union 与按位运算符

Java: a|=b 等于 a = a || b 代表 boolean 值?

c++ - 使用位实现集合

在Linux中将物理地址转换为虚拟地址并读取其内容

c++ - readv(), writev(), WSARecv(), WSASend()

c - 如何从数字中提取某些位并将它们放入新变量中?

c++ - if( !(s & i) ) 和 if( s&i == 0 ) 有什么区别?