我是刚学习c语言,我想知道为什么正数的补码,原码,反码都是相同的,这是规定么,或者是如何求的,谢谢

如题所述

原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。+7]原= 0 0000111 B
[-7]原= 1 0000111 B[+7]反= 0 0000111 B
[-7]反= 1 1111000 B
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-31
随便找本汇编的书,一般在第一章。
第2个回答  2018-04-10
我觉得应该是一种规定的算法吧,拿最高位来判断这个数是正数和负数。

if(最高位=0){
原码=剩下的七位;
反码=剩下的七位;
补码=剩下的七位;
}else{
原码=剩下的七位;
反码=原码按位取反;
补码=反码+1;
}
第3个回答  2013-10-31
原码是数字转换的二进制数
补码是数字对应的正数的二进制数,也就是计算机存储时候用的二进制数
反码就是原码按位求反再+1
所以正数的原码 补码 反码 都相同
相似回答