关于C语音 数据类型 短整型 最小值的内存存储方式
短整型的最小值应该是-32768绝对值部分二进制应该是100000000000000016位还要表示负号是不是还要写第17位?怎么会这样?...
短整型的最小值应该是 -32768
绝对值部分二进制应该是1000 0000 0000 0000
16位
还要表示负号
是不是还要写第17位?
怎么会这样? 展开
绝对值部分二进制应该是1000 0000 0000 0000
16位
还要表示负号
是不是还要写第17位?
怎么会这样? 展开
展开全部
负数都是以补码形式存储的,如果你按照有符号数进行输入、输出,系统会根据最高位是否为1采用补码形式进行计算。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-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。懂了没。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询