【C#】位操作符
& - 按(二进制)位与
| - 按(二进制)位或
^ - 按(二进制)位异或
首先,我们要知道这三个符号对数据的操作都是基于二进制的
正数的源码,反码,补码相同
其次就是整数在内存中存放的是补码,也就是说这三个操作符是对整数二进制的补码进行操作的
因为要内容有关二进制,所以不太了解二进制的小伙伴可以看一下下面这篇文章哦
【C#】整数在内存中的存储
我们创建三个变量,来测试三个操作符的结果,并且讲解
首先是&操作符
&的意思是(二者都为1,则为1,否则为0)
结果是3
我们来看看是怎么算的
因为3是正数,原反补相同,所以直接就是结果
|(二者只要有一位是1,结果就是1)
因为算出来的结果是负数,而负数在内存中是补码,所以还要经过转换
^(相同为0,相异为1)
那么位操作符有什么用呢?接下来我们看一道例题
【C#】不创建临时变量,交换两个整数的值(异或)
【C#】位操作符最先出现在Python成神之路。
共有 0 条评论