优先级从高到低,依次为~、&、^、|

  1. 按位与
    运算符(&)
    操作 0&0=0; 0&1=0; 1&0=0; 1&1=1
    只要有一个为0,其值为0。
    例子:10&9: 0000 1010 & 0000 1001 = 0000 1000 = 8

  2. 按位或
    运算符(|)
    操作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。

  3. 按位异或
    运算符(^)
    操作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。

  4. 按位取反
    运算符(~)
    ~1=0; ~0=1;
    即:对一个二进制数按位取反,即将0变1,1变0。
    例子:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。
    “按位取反”的特殊作用:使一个数的最低位为零,可以表示为:a&~1。~1的值为1111111111111110,再按“与”运算,最低位一定为0。

点赞(0)
 

9 分

1 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论