以下内容皆为本人原创,制作实属不易,请各位帅锅、镁铝点点赞赞和关注。
OK,正片开始了
一.定义(通俗易懂版)
原码:原码是最直观的表示方法,它直接用二进制表示数值,最高位作为符号位,0表示正数,1表示负数。剩下的位表示数值本身。例如,十进制的+5在原码表示为0000 0101,-5则表示为1000 0101。 |
内心独白:原码用二进制(只有0和1)表示数值,这应该都知道吧。最高位就是符号位,所以左边第一个0就是最高位,从某种角度来说,最高位为0为+(正号)。
反码:反码用于在计算机中进行算术运算,特别是减法。对于正数,反码和原码相同。对于负数,反码是将其原码除符号位外的所有位取反,即0变1,1变0。例如,-5的反码就是1111 1010。 |
内心独白:下面有我的草稿,很容易看懂哦。
补码:补码也是用于算术运算,特别是加法和减法。正数的补码和原码相同。负数的补码是其反码加1。例如,-5的补码就是1111 1010加上1,变成1111 1011。 |
内心独白:看到了吗,负数的补码是它的反码,加一。那就是个位上加一。
从上面图片的底部,看到-5的反码,加一即是补码。补上一个数字一,叫补码
二.正数和负数表示的区别
对于正数来说,原码、反码和补码是一样的,因为正数的符号位是0,取反和加1都不影响数值本身。
对于负数来说,原码、反码和补码是不同的。原码有一个1作为符号位,反码除了符号位外所有位都取反,补码是反码加1。
内心独白:
用一个通俗的比喻来说, 原码就像是我们平时写数字一样,直接写上数字和它的正负号。 反码就像是我们把数字写在镜子里,看起来数字的每个位都颠倒了。 补码则像是我们把镜子里的数字再翻过来,并且如果最后一位是0,就给它加1变成1 |
三.懵笔时刻
为什么正数的原码、补码、反码都一样的??
简单来说补码和反码其实都是相对于负数的概念来说的,所以不管正数什么事。都一的。
想象你有一个盒子,里面有5个乒乓球。你想要告诉别人你盒子里有多少球。你可以直接说“我有5个乒乓球”,这就是原码。如果你想要强调你有多少球,你可能会说“我没有少于5个乒乓球”,这就像是反码,但实际上你还是有5个球。最后,如果你想要告诉别人你的球是完整的,没有丢失,你可能会说“我的球没有少一个”,这就是补码,但你还是有5个球。
所以,对于正数来说,不管你怎么描述,你的乒乓球的数量都是5个,这就是为什么正数的原码、反码和补码是一样的。
为什么负数的原码、补码、反码不一样呢??
嗯?因为补码和反码的时候,都发生了变化,所以都跟原码不一样啊。而且补码是在反码的基础上加一,所以这两个不一样,也跟原码不一样。
标签:内心独白,反码,Python,补码,负数,正数,原码 From: https://blog.csdn.net/dhdjjfhdghh/article/details/141275419谢谢各位观看,后续持续发布高质量文章,给大家满意的服务。祝愿大家在生活中顺顺利利,前途似锦。共勉之~