计算机都是以二进制的补码形式进行存储或运算。
正数:三码合一
负数:
原码:将十进制数转换成二进制,最高位为符号位。1代表负数 0代表正数
反码:将所有位按位取反,但符号位不变
补码:反码+1
>>:右移。a>>b 将a的二进制补码形式 进行右移b位,空缺位补符号位的数字
<<: 左移。a<<b 将a的二进制补码形式 进行左移b位,空缺位补0
>>>:无符号右移。a>>>b 将a的二进制补码形式 进行右移b位,空缺位补0
&:按位取与。两个都是1,结果为1,反之为0
|:按位取或。两个都是0,结果为0,反之为1
^:按位异或。两个相同,结果为0,反之为1
~:按位取反。如果本身是1,结果为0,反之为1