byte取值范围范围的原因

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。

posted @ 2013-03-08 12:32  奔跑在路上  阅读(319)  评论(0编辑  收藏  举报