有符号型short的取值范围是怎么算出来的呀?

问题描述:

有符号型short的取值范围是怎么算出来的呀?
比如有符号型:short 在内存中占两个字节,范围为 -2^15到(2^15-1) ,我想知道这个范围是怎么算来的,原理是什么呢?希望大虾们可以详细的告诉小妹,

有符号型最高位代表符号位(0正,1负),我在这就按一个字节给你讲解.
最大值:【0】111 1111
1个比特的1,结果是2^1 - 1
2个比特的1,结果是2^2 - 1
3个比特的1,结果是2^3 - 1
..
7个比特的1,结果是2^7 - 1
最小值:因为8个比特的1 (【1】111 1111) 是-1.
【1】111 1111-1 = 【1】111 1110 为 -2
【1】111 1110-1 = 【1】111 1101 为 -3
.
【1】000 0001-1 = 【1】000 0000 为 最小数
注意:【1+全0】可以同时用来表示正数负数的二进制.例如4的二进制为100,-4的二进制也为100.所以最小值是 负号+2^7.
同理,2个字节的有符号型的范围是-2^15到(2^15-1).