首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

补码疑问,该如何处理

2012-02-05 
补码疑问-32768在内存中的二进制数表示为1000 0000 0000 0000,这实际上为补码,根据补码求不出十进制数,只

补码疑问
-32768在内存中的二进制数表示为1000 0000 0000 0000,这实际上为补码,根据补码求不出十进制数,只有把它变成原码才行。求补码的原码只有对其本身求补,符号位不动后面取反加1后得到:0000 0000 0000 0000,这就怪了,这个数按权展开后并没有得到-32768,怎么回事?

[解决办法]
楼主的意思是什么?你要用short int(16位)的话,范围是:-32768~32767,如你所说,后16位全零,有溢出,由于是恰好(+1)溢出,所以回到最小数-32768

热点排行