1.Java语言提供了八种基本类型。包括
六种数字类型(四个整数型:byte、short、int、long两个浮点型float、double)
一种字符类型,char
一种布尔型。boolean
2.几个字节
byte:1字节、8位
short:2字节、16位
int:4字节、32位
long:8字节、64位
float:4字节、32
double:8字节、64
3.最大最小值,带符号一般最高位标识符号位,0正数,1负数
byte:八位,带符号
- 最小值是 -128(-2^7);
- 最大值是 127(2^7-1);
问:高位为符号位所以0111 1111是最大值127,为什么最小值不是1111 1111(-127)呢?
1.计算机是以补码形式存储,正数补码是本身,负数补码=反码(除符号位其他位取反)+1,1111 1111应该是-1的补码所以表示-1
2.补码形式使0000 0000 和1000 0000分别标识两个不同的数,而不是都是表示+0和-0同一个数
规律
补码(10进制)
1111 1111 (-1)
1111 1110 (-2)减去1
1111 1101 (-3)减去2
.。。。
1000 0000 (-128)减去127