有符号:有一位表示符号位(1表示负,0表示正)
1个字节有八位;
正数:从0 000 0000(0)到0 111 1111(2^7-1=127,第一位0表示正)。
负数:从1 000 0000到1 111 1111(-(2^7-1)=-127)
因为负数在计算机中用补码表示-0的补码为0000 0000与+0的表示一致,所以用0000 0000表示+0和-0。所以1 000 0000不表示-0而表示-128。最终1个字节有符号整数的取值范围就是-128~127。
同理可得:
2个字节十六位;4个字节三十二位;8个字节六十四位;他们第一个都是符号位。
他们的取值范围各是:
2字节的取值范围:最大值是:(2^15)-1=32767;二进制表示为:01……1//0后面15个1
最小值是:-2^15=-32768;二进制表示为:10……0//1后面31个0
4字节的取值范围:最大值是:(2^31)-1=2147483647;二进制表示为:01……1//0后面31个1
最小值是:-2^31=-2147483648;二进制表示为:10……0//1后面63个0
8字节的取值范围:最大值是:(2^63)-1=32767;二进制表示为:01……1//0后面63个1
最小值是:-2^63=-32768;二进制表示为:10……0//1后面63个0