C语言&、|、^运算操作符讲解

C语言&、|、^运算操作符讲解_第1张图片
C语言&、|、^运算操作符讲解_第2张图片

C语言&、|、^运算操作符讲解

大家先判断下下面程序都运行结果

C语言&、|、^运算操作符讲解_第3张图片

C语言&、|、^运算操作符讲解_第4张图片
C语言&、|、^运算操作符讲解_第5张图片

答案:

C语言&、|、^运算操作符讲解_第6张图片
如果你全都做对了,那么恭喜你,是为巨佬,这篇文章对你帮助不大,这篇文章主要是帮助新手来理解&(按位与)、|(按位或)、^(按位异或)这3个相对来说比较难的操作符,相信困扰了很多编程小白。

大致介绍:

1、&(按位与)运算操作符,在计算机底层计算的原理中,相同位置的二进制序列进行对比,只要有0就是0,两个都是1才是1。
2、|(按位或)运算操作符,在计算机底层计算的原理中,相同位置的二进制序列进行对比,只要有1就是1,两个都是0才是0。
3、^(按位异或)运算操作符,在计算机底层计算的原理中,相同位置的二进制序列进行对比,相同为0,相异为1。

代码讲解演示:

C语言&、|、^运算操作符讲解_第7张图片
我以&这个计算为例子来演示内存布局(16进制表示),其中内存1、2、3分别代表的是stupid、silly、wise这3个变量的内存布局演示
C语言&、|、^运算操作符讲解_第8张图片
C语言&、|、^运算操作符讲解_第9张图片
C语言&、|、^运算操作符讲解_第10张图片
C语言&、|、^运算操作符讲解_第11张图片

附1:

若不太理解上面的计算过程,这边建议你可以看下我关于计算机底层原理计算的博客来帮助你理解
计算机底层的计算原理

备注:

楼主不才,不喜勿喷,若有错误或需要改进的地方,非常感谢你的指出,我会积极学习采纳。谢谢家人们一直以来的支持和鼓励,我会继续努力再接再励创作出更多优质的文章来回报家人们的。编程爱好的xdm,若有编程学习方面的问题可以私信我一同探讨(我尽力帮),毕竟“众人拾柴火焰高”,大家一起交流学习,共同进步!
C语言&、|、^运算操作符讲解_第12张图片

2021.12.06

你可能感兴趣的