分类：电脑/网络-软件
问题：一道c语言的题我刚学很简单的为什么c语言中整型常量的数值范围为
为什么c 中整型常量的数值范围为-32768~32767啊 能具体解释一下吗
回答：首先你要明确补码和原码的知识,那些是有关硬件基础的课程,好多的,你要自己看一下参考书.

明确后,我来解释:
c语言整型常量int规定占用2个字节,1字节是8位数,2个字节就是16位,可表示的位数就为2的16次方(65536).整型又有正负之分,最高位的0和1也用来表示正负,是符号位,所以在有符号时,其数值范围是-32768~32767
因为是用补码表示数,因此0只有一个(而不像原码那样有正0和负0),因此负数就可以多表示一个数-32768 
之所以是-32768 ~ 32767是因为int 型占16位,除了一个符号位还剩15位,2的15次方就是32768了,再除去0,所以正数能表示到32767,而刚才说过不用表示 -0 ,所以负数能表示到-32768 

希望我的回答你能满意:)