关于C语音 数据类型 短整型 最小值的内存存储方式

短整型的最小值应该是-32768绝对值部分二进制应该是100000000000000016位还要表示负号是不是还要写第17位?怎么会这样?... 短整型的最小值应该是 -32768
绝对值部分二进制应该是1000 0000 0000 0000
16位
还要表示负号
是不是还要写第17位?
怎么会这样?
展开
 我来答
御含灵9r
2014-03-13 · TA获得超过4157个赞
知道大有可为答主
回答量:3007
采纳率:0%
帮助的人:2666万
展开全部
不用十七位 这个数第一位是符号位 本来的意思是-0 因为0可以用0000 0000 0000 0000表示了
没必要多个负零 正好用它表示-32768,也就是第一位既是符号位又表示实际数
更多追问追答
追问
表示迷茫。。。没看到,求详解
追答
第一个bit既表示它是个负数 又表示是个实际数
绝对值的1000 0000 0000 0000
就是32768啊
cdyzxy
2014-03-13 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3673万
展开全部
负数都是以补码形式存储的,如果你按照有符号数进行输入、输出,系统会根据最高位是否为1采用补码形式进行计算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lph928952262
2014-03-13
知道答主
回答量:6
采纳率:0%
帮助的人:2.5万
展开全部
-32768+1=-32767是吧。 1000 0000 0000 0000 + 1 = 1000 0000 0000 0001,可以看到 一直加到等于 1111 1111 1111 1111时,16位都变为1. 而这个有符号数就是-1。看 -1 + 1 = 0,二进制相加时 它为1 0000 0000 0000 0000 而2个字节只能存放16位,最高位被‘抛弃’里,所以又变成 0 咯。正的最大值是0111 1111 1111 1111,负的最大值是 1000 0000 0000 0000。懂了没。。
追问

字数限制。。。

求说明

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式