一篇文章教你在C++中操作符可分为哪几种类和用法
前篇
在上一篇中,我们讲了算数操作符,移位操作符,我们还顺带着把几个知识点重新给大家讲了一遍,相信有了上篇的基础,这节课上起来会特别的轻松吧。
正片开始
这篇我来给大家讲解,什么叫位操作符,什么又叫赋值操作符。
首先,那么我们先讲概念,什么叫做位操作符呢?操作的又是那个位?这里操作的是二进制位。位操作符就是把二进制的数字按照规定好的程序执行起来。
这里的符号有:
符号 | 代表的含义 |
---|---|
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
按位与:
那么我们先来讲按位与,我们来举个例子:
就比如这个,因为这里 3 的二进制位为:011
5 这里的二进制位为:101
在这里,我们称:0为假,1为真
按位与的时候,就是一假为假,全真则真。那么,意思就是:
这里我们算出来结果是001,我们在把这个二进制数字转换为十进制数字结果是1,现在就可以在程序中调试出这个数字。我们来看一下调试结果。
答案是肯定的。
按位或:
先举个栗子,我们经常说,甲或者乙来帮忙都可以,那么这句话的意思就是甲来了,乙就可以不用来,乙来了,甲也就可以不用来。按位或也是相同的道理,写法和按位与一致只不过把&换成|,我们可以按照按位与来分析一下按位或的工作原理。大同小异。
它也有口诀:有真则为真,全假则为假。我们仍然以3,5举个鲜明的例子来给大家看一下:
这里二进制数为111,转换十进制数为 :7
我们一传代码看一下答案。
由此发现,上述正确。
按位异或:
接下来,我们来讲最后一个知识点:按位异或
有的小白心里就会说,可以仿照前面两种形式的概念,我们可以去猜,按位异或是什么。
答案是可以的。
按位与是:一假全假,全真则真。
按位或是:有真为真,全假则假。
那么,有的小白就会想到会不会是:全真则假,全假为真呢?这个猜想一半是错误的。
按位异或的计算方式是:对应二进制位相同则为假,对应二进制位相异则为真 。那么这是什么意思呢?我们来看一下。
我们可以看到,输出的结果是:110 转换十进制数字为 6
我们看一下实际操作的答案:
答案完全相等!!!
我给大家在梳理一下本篇的口诀,这样大家在学习的时候会事半功倍。
按位与:一假全假,全真则真。
按位或:有真为真,全假为假。
按位异或:相异为真,相同为假。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!