c语言中,负数的补码怎么取的?以-127为例!

如题所述

将所有位取反,再在最后一位+1
比如16位二进制补码-127
首先得到127这个数
00000000 01111111
然后所有位取反
11111111 10000000
再在末位+1,得到-127的补码为
11111111 10000001
如果将这个数化成10进制,可以这样:
先看最高位,是1,就写上负号(是0就不用写,直接化成10进制就行,后面的就不需要做了),得到一个光秃秃的负号
然后将所有位取反得
00000000 01111110
再在末位加1,得
00000000 01111111
将这个数化成10进制,是127,然后写在第一步的负号后面,得出这个补码对应的10进制数是-127
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-28

这样就可以了

相似回答