优先级从高到低,依次为~、&、^、|
按位与
运算符(&)
操作 0&0=0; 0&1=0; 1&0=0; 1&1=1
只要有一个为0,其值为0。
例子:10&9: 0000 1010 & 0000 1001 = 0000 1000 = 8按位或
运算符(|)
操作0|0=0; 0|1=1; 1|0=1; 1|1=1
只要有一个为1,其值为1。
例子:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。按位异或
运算符(^)
操作0^0=0; 0^1=1; 1^0=1; 1^1=0
如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
例子:10^9 即 0000 1010 ^ 0000 1001= 0000 0011 即10^9 = 3。按位取反
运算符(~)
~1=0; ~0=1;
即:对一个二进制数按位取反,即将0变1,1变0。
例子:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。
“按位取反”的特殊作用:使一个数的最低位为零,可以表示为:a&~1。~1的值为1111111111111110,再按“与”运算,最低位一定为0。
9 分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复