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

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).