中易网

c程序中基本整型的取值范围:-32768~32767是怎么算出来的?

答案:2  悬赏:20  
解决时间 2021-01-12 22:32
  • 提问者网友:佞臣
  • 2021-01-12 14:43
c程序中基本整型的取值范围:-32768~32767是怎么算出来的?
最佳答案
  • 二级知识专家网友:笑迎怀羞
  • 2021-01-12 15:53
整型在你那个版本里是占用两个字节来存储的,每个字节8位,也就是16位的2进制,大家知道这样一个2进制数总是对应着一个正数。
但是要表示正数和负数该怎么办,聪明的科学家在限制的2进制数位数的前提下采取了补码(算法及详细见补码)的形式来存储负数。
第一位是符号位,也就是用它来表明这个数的符号(正数:0 负数:1)所以int型的最大正数为0111111111111111(15个1),其取值为2(15)-1,就是2的15次方减一,即32768-1=32767。
最小负数:1000000000000000,按照补码的运算,得这个2进制数对应的十进制为-32768,这样也解释了为什么最大正数与最小负数的绝对值差1。

全部回答
  • 1楼网友:洒脱疯子
  • 2021-01-12 16:31
我暂时保留我的看法!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息