前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何理解“正数的补码是其本身”

如何理解“正数的补码是其本身”

作者头像
袁承兴
发布2021-01-05 14:29:40
2.3K0
发布2021-01-05 14:29:40
举报

补数,也叫补码,有“1的补数”和“2的补数”之分,前者多称为“反码”,后者干脆就直接叫“补码”。

为什么计算机系统需要补码,推荐这篇关于2的补码

介绍两者操作细节的文章,也不在少数,本篇不再赘述。但是数次的看到“正数的补码是其本身”这句高亮的句子,着实令人困惑。我在这里尝试解决下。

首先,对于二进制数来说,只要定好了位长,进行反码(1的补数)和补码(2的补数)其实是一件很简单的事情。在纯二进制的表示下,只有0和1,别无他物。0111(4位)的反码就是1000,补码就是1001(反码加1)。所谓正负、符号这些人赋予的意义都不存在,只有二进制数和这些简单操作。

那么,为什么会出现“正数的补码是其本身”这种说法呢?

在计算机中表示负数,如果用最高位表示符号这种“原码”方式,虽然有利于人的阅读,但不利于其本身的计算。所以系统内部就把负数统一用“其对应正数的补码”来表示,而正数自己不用改变。这样变换后,正数虽然形式上没有变,但与原码相比,含义却变了,因为符号位已经不再是符号位了,此时的正数和负数都具有了统一的“补码形式”或称都在一致的“补码编码空间”中。

原码空间到补码空间的转换,并非对每个数点都进行补码运算,只是负数需要,正数不需要而已。

简单来说,“正数的补码是其本身”,这句话想表达含义的意思是,正数在计算机“补码编码空间”中的表示和原码一致。但这绝不等价于“对正数进行补码运算,结果是其本身”。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档