c++ - 在 unsigned Char 的 MSB 和 LSB 上写入

标签 c++ c bit-manipulation bit

我有一个 unsigned char,我想在四个最高有效位上写 0x06,我想在它的 4 个最低有效位上写 0x04。 所以 Char 表示应该像 0110 0010

有人可以指导我如何在 C 中执行此操作吗?

最佳答案

c = (0x06 << 4) | 0x04;

因为:

0x04    = 0000 0100
0x06    = 0000 0110

0x06<<4 = 0110 0000
or op:  = 0110 0100

关于c++ - 在 unsigned Char 的 MSB 和 LSB 上写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21555007/

相关文章:

从左边开始计算连续的 1 位的个数

c - 通过串行端口按位获取输入

c - fopen 因我的文件路径而失败

c++ - 更高级地使用 ceil() 函数

c++ - 具有可变参数模板的函数对象

c - C 中 uint64_t 变量的位移位运算

c++ - 在现代 x86 硬件上编写比特流的最快方法

c++ - Memcpy、字符串和终止符

c++ - 将 nullptr 转换为 bool

c++ - Qt : Best approach to wait for a signal from a function