整型变量十六位最小取值为什么是-32768而不是-32767
1个回答
展开全部
源码中,正零和负零都表示零;补码中,正零还是零,但“负零”用来表示最小值(-32768),这可以看成是一种约定。内存中整数是用补码形式储存,如果是用原码形式储存由于0可以表示为
0000 0000 0000 0000[+0] 或者 1000 0000 0000 0000[-0]
所以只能表示-32767~32767 。但是如果用补码储存,0[+0或-0]就被唯一确定了是0000 0000 0000 0000 。多出来的一位用于表示最小整数,即-32768
所以最小整数取值-32768
0000 0000 0000 0000[+0] 或者 1000 0000 0000 0000[-0]
所以只能表示-32767~32767 。但是如果用补码储存,0[+0或-0]就被唯一确定了是0000 0000 0000 0000 。多出来的一位用于表示最小整数,即-32768
所以最小整数取值-32768
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询