按位或运算符|,同样,它也与我们前面学过的逻辑或运算符类似,只有一个竖线表示,作用位,两个对应的二进制位有一个为1结果即为1。如8|7的运算过程可以如下表示:
8 0000 0000 0000 0000 0000 0000 0000 1000 7 0000 0000 0000 0000 0000 0000 0000 0111 & ------------------------------------------ 0000 0000 0000 0000 0000 0000 0000 1111
可以看到最终的二进制结果换算成十进制即为15(并不是单纯8+7得来的哦!)
大家可以自行上机实验,代码如下:
#include<stdio.h> int main() { int a; a=8|7; printf("a=%d\n",a); return 0; }
运行结果如下:
a=15
按位或运算符的作用:
对一个数字的指定位置为1,如“某个数字的第七位”表示开关,原先是0,需要改为1的状态,即可以将这个数字与64按位或,即可得到第七位变为1,其余位的值依旧不变。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程