//将10010010奇偶位互换
unsigned char num = 0b10010010;
//清零操作使用 按位 &, 保留的数位为 1, 清 0 的 数位 为 0
//1.将 num 左移一位
unsigned char left = num << 1; //0010 0100
//2.保留偶数位 奇数位清零
unsigned char clearLeft = left & 0b10101010;
//0010 0000
//3.将num 右移一位
unsigned char right = num >> 1; //0100 1001
//4.保留奇数位, 偶数位清零
unsigned char clearRight = right & 0b01010101; //0100 0001
//5.按位取 或 |
unsigned char result = clearLeft | clearRight;
printf("%d\n", result);
位运算符
最新推荐文章于 2025-07-23 15:13:56 发布