关于移码的问题

发布于 2022-09-12 01:58:31 字数 141 浏览 6 评论 0

请问各位大神,

关于下面阶码7的移码计算为何是下面的五位二进制数字呢?

麻烦知道的告诉我下哈,妹子刚入门学习,谢谢!

捕获.PNG

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

微暖i 2022-09-19 01:58:31

移码是用非负整数来表达整数概念的技术实现,便于存储和计算。举例来说,你如何用二进制表达一个负数呢?一种方法是前面加一个符号位,用0表示正数,1表示负数,但这样在计算负数的时候,还需要做额外的计算。另外一种简单的做法是这样,以你这里的5个二进制数为例,这5个二进制数所能表达的最小数是多少呢?00000,对吧?最大是多少呢?11111,对吧?我们从中间劈开,中位数应该就是10000,对吧?好,那我们现在认定10000表示0,凡是比10000小的,则都是负数,比10000大的,都是正数,比如10001就是1,10002就是2,那么-1是多少呢?很简单,10000减去1就是-1,所以,01111就是-1,同样,再减去1,01110就是-2,依此类推。这样有一个很直观的好处,就是你不需要看符号位,而只要直接比较数字的大小,马上就知道哪个数比哪个数大,负数一定小于正数,相当于我们把负数在座标轴上进行了偏移,强行把最小的那个负数搬到了0的位置,把原来的0向右搬了家。所以你这里7的移码就是10111了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文