【原创】【原创】从“-8转换为二进制是多少”来理解什么是原码、反码、补码
问题背景:
-8 转换为二进制是多少?
解决方案:
第一步:将 8 转换为二进制得到:
00000000 00000000 00000000 00001000
第二步:由于-8是负数,所以可得其原码为:
10000000 00000000 00000000 00001000
第三步:根据原码继续取其反码从而得到二进制:
11111111 11111111 11111111 11110111
第四步:根据反码继续取其补码得到最终的二进制:
11111111 11111111 11111111 11111000
相关概念:
1、正数的的反码和补码都是正数本身,所以原码、反码、补码其实都是针对负数而言的;
2、原码:用第一位表示符号( 0代表正符号、1代表负符号),其余位表示值;
3、反码:是在其原码的基础上,符号位保持不变,其余各位取反;
4、补码:是在其原码的基础上,符号位保持不变,其余各位取反,最后+1 (即在反码的基础上+1);
5、计算机内存中的二进制数是以补码形式存储的;
6、那么补码+1 或者 补码-1 是如何进行补码加减法运算的呢?
答:补码的加减法是采用二进制加减法,假设补码为1,则1+1=10、1-1=0;只要记着十进制是逢10进1,二进制是逢2进1。
版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。