java疑问:byte型整数在内存里面占8位,也就是一个8个bit的二进制数,而且时代符号的,那应该是—127到127为什么会是—128呢?
解:这跟字节的编码有关。byte是一个字节保存的,有8位也就是有8个0、1。8个位的第一个是符号位,也就是说0000 0001代表的是数字1.
1000 0001代表的是—1所以正数最大为0111 1111,也就是127,负数最大为1111 1111也就是—128。
java疑问:byte型整数在内存里面占8位,也就是一个8个bit的二进制数,而且时代符号的,那应该是—127到127为什么会是—128呢?
解:这跟字节的编码有关。byte是一个字节保存的,有8位也就是有8个0、1。8个位的第一个是符号位,也就是说0000 0001代表的是数字1.
1000 0001代表的是—1所以正数最大为0111 1111,也就是127,负数最大为1111 1111也就是—128。
转载于:https://www.cnblogs.com/xufei3928ztt/archive/2013/03/08/2949728.html