unsigned char类型位运算
时间: 2024-01-06 09:01:32 浏览: 185
浅谈防不胜防的unsigned int的运算
5星 · 资源好评率100%
unsigned char类型是一个8位无符号整数类型,可以进行位运算。常见的位运算包括:
1. 按位与(&):对两个操作数的每个位执行逻辑与操作,结果为1的位在两个操作数中都为1时才为1。
例如:unsigned char a = 0b10101010; unsigned char b = 0b11001100; unsigned char c = a & b; // c的值为0b10001000;
2. 按位或(|):对两个操作数的每个位执行逻辑或操作,结果为1的位在两个操作数中至少有一个为1时为1。
例如:unsigned char a = 0b10101010; unsigned char b = 0b11001100; unsigned char c = a | b; // c的值为0b11101110;
3. 按位异或(^):对两个操作数的每个位执行逻辑异或操作,结果为1的位在两个操作数中有且仅有一个为1时为1。
例如:unsigned char a = 0b10101010; unsigned char b = 0b11001100; unsigned char c = a ^ b; // c的值为0b01100110;
4. 按位取反(~):对操作数的每个位执行逻辑取反操作,结果为0的位变成1,为1的位变成0。
例如:unsigned char a = 0b10101010; unsigned char b = ~a; // b的值为0b01010101;
5. 左移(<<):将操作数的每个位向左移动指定的位数,右侧用0填充。
例如:unsigned char a = 0b10101010; unsigned char b = a << 2; // b的值为0b10101000;
6. 右移(>>):将操作数的每个位向右移动指定的位数,左侧用0填充或根据符号位填充。
例如:unsigned char a = 0b10101010; unsigned char b = a >> 2; // b的值为0b00101010;
阅读全文