位运算相关知识点详细总结
Posted 寂静花开
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位运算相关知识点详细总结相关的知识,希望对你有一定的参考价值。
原码,反码, 补码
正数: 原码、反码、补码相同;
负数: 原码:为取绝对值的数转二进制,然后符号位加一;
反码:对该数的原码除符号位外,各位取反;
补码:对该数的反码加1。(负数的补码即为负数的二进制数。)
另:
计算机中 存储的都是数值的补码形式。
所以当负数二进行转为十进制的时候,步骤如下:
先计算反码:负数二进制码减一,即为反码;(负数二进制码是以补码的身份存在的)
再计算原码:反码除符号位外,按位取反,即为原码;
最后计算十进制数:除符号位外的原码转相应的十进制数后,加上负号。
位运算符
二进制下用 1 表示真,0 表示假,以下运算都是在二进制下进行的。
异或
符号:^
规则:同为 0,异为 1
注意:异或和反码的结果都是补码
作用:
1.交互两数值时,不需要再设第三个数
2.用于数据分组
与
符号:&
规则:全1才是1,其余为0
或(|)
符号:|
规则:全0得0,其余为1
非
符号:~
规则:0变1,1变0
左位移
符号:<<
规则:将二进制码整体左移指定位数,左移后空出来的位用“0”填充
注意:上面的二进制码指补码,同时得到的数也是补码,需要再转原码后转十进制。
右位移
符号:>>
规则:把二进制码右位移指定位数,左边空出来的位以原来的符号位的数填充。(原来是负数就填充1,原来是正数就填充0。)符号位不变。
注意:用补码运算。
无符号右位移
符号:>>>
规则:把二进制码右位移指定位数,左边空出来的位以0填充。无符号位右移结果总是一个正数。
注意:依旧用补码运算,同时正数的原码、反码、补码相同。
以上是关于位运算相关知识点详细总结的主要内容,如果未能解决你的问题,请参考以下文章