整数的四种进制表示方式:
- 二进制(binary):以0b或者0B开头
- 八进制(octal):以0开头
- 十进制(decimal):
- 十六进制(hex):一0x或者0X开头
二进制
正数:原码、反码和补码都是一样的;
负数:原码符号位为1,反码是除符号位不变其他位取反,补码在反码基础加1
这里就可以解释将int类型的128强制转换为byte类型后的结果为-128的情况。
什么是补码?
补码就是为了实现和其相反数相加通过溢出从而使计算机内结果变为0的二进制码。
如果使用原码计算
00000001 -----(1)
10000001 -----(-1)
1+(-1)= 10000010 = -2
如果使用补码计算
00000001 -----(1)
11111111 -----(-1)
1+(-1)= 100000000 = 0(1溢出)