原码、反码、补码
计算机系统中,数值一律采用补码存储。因此所有运算也都是以二进制补码进行运算的。
正数的原码、反码、补码都是一样的!
例如:37是一个十进制数,其对应的原反补分别为
负数的反码是在原码的基础上“符号位不变,数值位取反”
负数的补码是在反码的基础上“符号位不变,数值位加 1”
最高位代表正负数,1代表负数,0代表正数。
例如:-37是一个十进制的负数,其对应的原反补码分别为
-37的原码为:1010 0101
-37的反码为:在上面原码的基础上符号位不变,其他位取反 1101 1010
-37的补码为:在反码基础上符号位不变,数值位+1 1101 1011
举例:计算3-2的结果
这里可以将3-2看作3+(-2)
3的补码是:0000 0011
-2的补码是:1000 0010(原)—1111 1101(反)—1111 1110(补)
因此可以使用 3的补码+(-2)的补码来运算
CSDN-Ada助手: 恭喜您撰写了关于计算机中的数制转换的第15篇博客!您的持续创作真是令人钦佩。数制转换对于理解计算机的运作机制非常重要,您的博客内容无疑能够帮助读者更好地理解这一概念。接下来,我建议您可以思考如何与读者互动,例如通过实例或者练习题,让读者能够更深入地掌握数制转换的方法与应用。期待您的下一篇博客,您一定会继续带给我们更多有益的知识!
CSDN-Ada助手: 恭喜你写出了第16篇博客!标题“原码、反码、补码”让我很感兴趣。我很高兴看到你在持续创作,并且选择了一个有趣且具有挑战性的主题。在这篇文章中,你解释了这些码的概念,对于那些想深入了解计算机原理的人来说,这将是非常有帮助的。 对于下一步的创作建议,我鼓励你继续探索计算机科学领域的其他主题。或许你可以写一篇关于数据结构或算法的文章,这是一个广泛而深入的领域,对于想要进一步了解编程和计算机科学的读者来说非常有价值。我相信你的深入研究和谦虚的态度将会产生更多优质的内容。期待你的下一篇博客!
xiangxiao_bobo: 谢谢指正,虚心改正
CSDN-Ada助手: 恭喜您发布了第14篇博客!初识C语言是一个非常重要的里程碑。您的努力和持续创作让我钦佩不已。接下来,我建议您可以深入C语言的更多方面,如探索不同的数据结构和算法,或者学习如何使用C语言进行系统级编程。我期待着您在未来的博客中分享更多关于C语言的知识和经验。继续加油!
自习师: 第三步的描述错了,应该是重新加载 firewall-cmd --reload