原码反码补码
-
原码:十进制数据的二进制表现形式,最左边是符号位。0为正,1为负
- 利用原码对正数进行计算是不会有问题的
- 但是如果是负数计算,结果就出错,实际运算的结果跟我们预期的结果是相反的
-
反码:正数的补码是其本身,负数的反码是符号位保持不变,其余位取反
-
反码是为了解决原码不能计算负数的问题而出现的
-
计算规则:正数的反码不变,负数的反码在原码的基础上,符号位不变,数值位 取反,0变1,1变0
-
在进行跨零计算的时候,有1的误差
-
- 补码:正数的补码是其本身,负数的补码是在其反码的基础上+1
- 补码出现的目的:为了解决负数计算时跨0的问题而出现的
- 计算规则:正数的补码不变,负数的补码在反码的基础上+1,另外补码还能多记录一个特殊的值-128,该数据在1个字节下没有原码和反码
- 计算机中的存储计算都是以补码的形式进行的
- 其他运算符
| 运算符 | 含义 | 运算规则 |
|---|---|---|
| & | 逻辑与 | 0为false 1为true |
| | | 逻辑或 | 0为false 1为true |
| << | 左移 | 向左移动,低位补0 |
| >> | 右移 | 向右移动,高位补0或1 |
| >>> | 无符号右移 | 向右移动,高位补0 |