short int a=-32769,为什么输出的是32767?
shortint的取值范围为是-32768~32767,-32769超出范围了,但是我用原码补码的知识解释不清,求助。。...
short int的取值范围为是-32768~32767,-32769超出范围了,但是我用原码补码的知识解释不清,求助。。
展开
展开全部
-32769的原码: 10000000 00000000 10000000 00000001(最高位为符号位)
-32769的反码: 111111111 111111111 011111111 111111110
-32769的补码: 111111111 111111111 011111111 111111111
上面是用4个字节表示的,short只能存位的2个字节
故实际变量a存的是 01111111 11111111即32767
-32769的反码: 111111111 111111111 011111111 111111110
-32769的补码: 111111111 111111111 011111111 111111111
上面是用4个字节表示的,short只能存位的2个字节
故实际变量a存的是 01111111 11111111即32767
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询