如何读取char中的某一位

来源:百度知道 编辑:UC知道 时间:2024/06/12 07:11:34
char不是1个byte也就是8个bit
怎么才能读取或者修改其中的某一个bit

某一个bit 清0:
char x; 用异或 和 与 运算
x = x ^ (x & 0x01); // 清 右1 位
x = x ^ (x & 0x02); // 清 右2
x = x ^ (x & 0x04); // 清 右3
x = x ^ (x & 0x08); // 清 右4
x = x ^ (x & 0x10); // 清 右5
x = x ^ (x & 0x20); // 清 右6
x = x ^ (x & 0x40); // 清 右7
x = x ^ (x & 0x80); // 清 右8

设1, 用 或运算
x = x | 0x01; // 设 右1 位 为 1
x = x | 0x02;
x = x | 0x04;
...
x = x | 0x80;

读取某位: 用 与运算取位,右移到最右,打印出来。

加上2的幂...

转化为二进制后再修改