java位运算符

别说谁变了你拦得住时间么 提交于 2020-02-28 07:14:56

一、什么是位运算

位运算是对操作数以二进制为单位进行的操作和运算,运算结果为整数。计算机内部是用补码表示数,位运算是对数的补码进行运算,正数的补码等于原码,负数的补码等于其相反数的原码取反加1。

二、位运算符

1.&(按位与)
参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制位同时为1,那么计算结果才为1,否则为0。因此,任何数与0按位与运算,其结果都为0。
在这里插入图片描述
2.|(按位或)
参与运算的数字,低位对齐,高位不足的补零。只要对应的二进制位有一个为1,那么结果就为1,否则为0。
在这里插入图片描述
3.^(按位异或)
参与运算的数字,低位对齐,高位不足补零,如果对应的二进制位相同,结果为0,否则结果为1。
在这里插入图片描述
4.~(按位取反)
只对一个操作数进行运算,将操作数二进制中的1改为0,0改为1.
在这里插入图片描述
因为在计算机中使用补码表示,最高位为1表示负数。补码求原码的方法是最高位符号不变,其余各位求反,再加1。

5.<<(左移位)
按二进制形式把所有的数字向左移动对应的位数,符号不变,高位移除(舍弃),低位补零。
在这里插入图片描述
6,>>(右移位)
按二进制形式把所有的数向右移动对应的位数,低位移出(舍弃),正数的高位的空位补0,负数的高位的空位补1.
在这里插入图片描述
7.>>>(无符号右移)
按二进制形式把所有的数字向右移动相对应的位数,低位移出(舍弃),高位的空位补零(无论正数负数都补零)。
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!