推荐答案首先,来个-5,实践出真知嘛。把5转化为二进制字节形式。得到101,然后补零。这个时候,原码就出来了。然后,取反(0的变成1,1的变成0。)/*一个整数按照绝对值大小转换成的二进制数,是为原码。原码就上面的:00000101。*/得到了反码,嗯,反码是和原码反着来的。然后,加一。//反码加一叫补码。补码就是负数在计算机中的二进制表示方法。那么,1111101......
首先
来个-5
实践出真知嘛。
把5转化为二进制字节形式。
得到101
然后补零。
这个时候
原码就出来了。
然后
取反(0
变成1
1
变成0。)
/*一个整数按照绝对值大小转换成
二进制数
是为原码。
原码就上面
:
00000101。*/
得到了反码
嗯
反码是和原码反着来
。
然后
加一。
//反码加一叫补码。
补码就是负数在计算机中
二进制表示方法。
那么
11111011表示8位
-5
如果要表示16位
-5
在左边添上8个1即可。
那么
知道一个负数
求二进制数
方法已经知道了
若果
知道一个二进制数
怎么求其十进制数呢(对负数)
随便来个负数
二进制数。
先减一
反着上面
方法来。
//上面最后不是加一么
那现在就减一
取反。
//上面不是取反了么
这里也取反。
那么
接下来就是计算了。
计算结果是13
那么这个二进制数就是:
-13。
那么
用计算器来验证一下。
其实负数
:
十进制变二进制:原码--反码--加一(补码);
二进制变十进制:减一--反码--原码。