为什么C语言中有符号整型变量的取值范围是-32768~32767,麻烦详细解释一下?

如题所述

答:有符号整型变量的取值范围是-32768~32767,这是过去16位计算机的int类型整数的表示范围,因为16位二进制可表示65536个十进制数据,如果表示无符号整数则其范围为:0 到 65535,而要表示有符号的十进制数据,那么最高位就是符号位,正数的范围为:0 到 32767,其二进制数就是:0000 0000 0000 0000 到 0111 1111 1111 1111;负数的范围为:-1 到 -32768,其二进制数就是:1111 1111 1111 1111 到 1000 0000 0000 0000 ,两者所表示数据的个数恰好是65536个十进制数据。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-12
有符号整形变量int型的,在c语言里面规定是用两个字节也就是16个二进制位来表示的。最高为用来表示正负,后面还有15位数,于是一共可以表示2的15次方个数字,也就是32768个,但是呢,数字0是用的16个二进制0表示的,所以正数只能到32767了,负数则是到-32768.这两个数字就是这么来的本回答被网友采纳
第2个回答  2013-05-07
有符号整形变量int型的,在c语言里面规定是用两个字节也就是16个二进制位来表示的。最高为用来表示正负,后面还有15位数,于是一共可以表示2的15次方个数字,也就是32768个,但是呢,数字0是用的16个二进制0表示的,所以正数只能到32767了,负数则是到-32768.这两个数字就是这么来的
第3个回答  2013-04-11
如果规定整型是2字节,第一位表示符号位。所以-32768就是2进制的1000 0000 0000 0000,32767就是2进制的0111 1111 1111 1111,全1就是-32767本回答被网友采纳
第4个回答  2013-04-12
你说的是int 型的,就是说int在-32768~32767范围内是数是有效位,如果超过了,就会损失精度