摘要:
首先我们需要区分的是什么是有符号数和无符号数。有符号和无符号的区别是一个有符号位,另一个没有符号位.没有符号位的数字只能有0和正值,有符号位的数字可以有正零,负零和正数负数.从这里可以看出,有符号和无符号的区别就是是否能表示负数。然后我们再来理解java虚拟机所支持的所有整数数据类型-byte,short,int和long,他们都是带符号的二进制补码。那么为什么会采用二进制补码呢?首先我们还是来看二进制补码的概念:负数的补码就是对反码加1,而正数不变,正数的原码反码补码是一样的.即若要用补码系统表示 -5,首先要将 5 的二进制进行反相运算,再加 1。0000 0101 (5) -----11 阅读全文