问题一:
数据在计算机中的存储是以二进制(0,1)存储的,因为对于物理实现来说,电路只有通路、断开两种,而数据有正负,所以有了补码(计算机中的数据都是以补码的形式存储的)。
好处是: 可以把减法变成加法运算。(计算机中加减乘除 最后都变成加法运算)
问题二:
补码是如何求得的呢?
定义:整数的原码 = 数据除2取余 正数的符号位为0 负数的符号位为1
正数=反码=本身
负数=反码+1=符号位为不变其他位取反(比如-3 原码 1000 0011 →反码 1111 1100)+1
零的正反补 都是零
问题三:
实例解读:
3
5
-3
-5
问题拓展:
强制转换:强调计算机是存补码的 比如 byte a=(byte) 130 a=?
我们最终看到的是原码 ,截取到补码 后还得换成 原码