战双帕弥什原码补码反码简介
作者:互联网
热知识:计算机在任何情况下都只识别二进制;
计算机在储存数据时,一律储存的是二进制。
一个二进制数,首位0表示该数是正数,首位是1表示该数是复数。
正文:对于正数来说,二进制原码、反码、补码是同一个。
下面用两个例子来进行说明:
正数5: 5的二进制是:00000101
原码:00000101
反码:00000101
补码:00000101
负数-5:5的二进制是:00000101
-5的原码:10000101
反码:11111010
补码:11111011
从中我们不难可以看出,正数的三个码完全相同,对于负数来说,反码是对其原码逐位取反,但符号位除外。补码是在其反码的末尾加1.
最后我再参考资料写写为什么计算机要用补码来表示数字:
当我们在做减法运算时,需要用正数-正数。但是当我们做减法运算时有可能遇到减不够从而需要借位的情况,这显然是比较麻烦的,但是我们将式子转化为正数+(-正数),将减法换为加法就简单了,只需要考虑进位就可以了。所以我们只需要制定一套用于做加法运算的电路就可以了。但是为什么数字只用补码而不用其他的表现形式呢,这里就涉及到了人的传统认知,因为人们大部分认为+0和-0其实是一样的,但计算机可不会和人一样思考,所以就设计出了补码来解决这个问题。
最后的最后要说一下怎么根据补码计算原码,正数我们不必多说,原码和补码是一样的,对于负数来说,求给定的这个补码的补码就是原码
举个例子。-1的原码是(10000001b)我们假装不知道,只是知道它的补码是(11111111b),它的补码的补码就是(取反得到反码是10000000b,再在最后一位加1得补码100000001b),可以看到最后得到的就是要求的原码。
(文章有借鉴的内容,作者保证只限于学习,不会拿去盈利。有问题加q1297138599)
资料参考:(3条消息) 两个例子,搞懂原码,反码,补码_鸿赢工作室的博客-CSDN博客_反码例子
(3条消息) 原码、补码、反码(超详细!)_一个快乐的野指针~的博客-CSDN博客_原码反码补码
(3条消息) 根据补码求原码_ZhangGongqin123的博客-CSDN博客_补码求原码
标签:00000101,反码,战双,二进制,补码,正数,原码 来源: https://www.cnblogs.com/zhanshuang/p/16683227.html