分别写出有符号和无符号1字节,2字节,4字节所能表示的整数范围

无符号(1字节) 0到255
有符号(1字节)-128到127
无符号(2字节) 0到65535
有符号(2字节) -32768到32765
无符号(4字节) 0到4294967295
有符号(4字节)-2147483648到2147483647
追问:
怎么算的?
追答:
一个字节8位,无符号的可以从0000 0000(0)到1111 1111(2^8-1=255)
有符号:有一位表示符号位(1表示负,0表示正)正数从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。
其它同理:
2个字节有16位,无符号从0000 0000 0000 0000(0)到1111 1111 1111 1111(2^16-1)
有符号:(-2^15到2^15-1)

你可能感兴趣的:(编程常识问题1000问)