C语言里怎么取由一个字节中的第1、2、3两位组成的数据
时间: 2023-05-12 14:05:26 浏览: 284
C语言中判断一个char*是不是utf8编码
可以使用位运算符来取由一个字节中的第1、2、3两位组成的数据,具体的操作如下:
unsigned char byte = 0xAB; // 假设这个字节是 0xAB
unsigned char data = (byte >> 5) & 0x07; // 取第1、2、3两位,即右移5位后再与0x07进行按位与运算
printf("%d\n", data); // 输出结果为 5
这里的 >> 是右移位运算符,& 是按位与运算符,0x07 是一个二进制数,表示只有第1、2、3两位是1,其它位都是0。
阅读全文