***位运算符***: 按位与 &, 按位或 |, 按位非~, 按位异或 ^, 左移 <<, 右移 >>
按位与 &: 同 1 为 1 , 否则为 0. 经常用于某一位清零.
int a = 5 & 7; //0000 0101(5) & 0000 0111(7)== 0000 0101
printf("%d\n", a);
//按位或 |: 同 0 为 0, 否则为 1. 经常用于保留某一位.
a = 5 | 7;
printf("%d\n", a);
//按位异或 ^: 相同为 0 , 不同为 1.
a = 5 ^ 7;
printf("%d\n", a);
//按位非 ~:
char b = ~4;
printf("%d\n", b);
//左移 <<
unsigned char d = 1;
printf("左移后的结果 %d\n", d << 3);
//右移 >>
unsigned char e = 255;
printf("右移后的结果: %d\n", e >> 1); // 0111 1111 (127)
位运算符
最新推荐文章于 2025-05-21 11:20:16 发布