C语言中一个数补码和原码是如何进行计算的?

如题所述

一个简单的方式求补码那就是从原码的最右端开始找到第一个不为零的数(就是1)从下一个开始取反
如1001
1100的补码就是0110
0100,至于原码用10进制数依次除以2安顺序保留余数,知道商为零为止,那么最后依次的余数就是原码的最高位,倒数第2个余数就是原码的次高为,这样依次,知道第一个余数就是原码的最低位了
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-24
原码不论正负都是一样的,第一位是符号位,正数为0,负数为1,后面就是该数的二进制数
正数的反码和补码都与原码一样不变
负数的反码是除符号位外每位都取反
补码是反码的基础上加1
第2个回答  2020-02-06
2进制
就1和0吧?
那么1的反就是0
0的反就1
补码就是吧源码各位上取反
人后在最地位+1
+了以后计算(按2进制计算看进不进位)是多少
那补码就是多少本回答被提问者采纳
相似回答