1.
前置知识:
8bit(位)=1Byte(字节)
1024Byte(字节)=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
java使用0代表正数,1代表负数
2.
类型 | byte | short | int | long |
字节数 | 1 | 2 | 4 | 8 |
位数 | 8 | 16 | 32 | 64 |
范围 | -2^7 至 2^7-1 | -2^15 至 2^15-1 | -2^31 至 2^31-1 | -2^63 至 2^63-1 |
bit又叫位,那int可以存32位,那为什么表示的范围是-2^31-2^31-1呢,因为还有一位用来存正负号。又因为使用0代表正数,1代表负数,所以
负数比正数多一位,比如
byte是1字节,8位,所以是
1111 1111 ~ 0111 1111 1111 1111代表-2^7 而因为0代表正数,所以只能到2^7-1
其他同理