美文网首页
计算机是怎么保存负数的?

计算机是怎么保存负数的?

作者: 日更专用小马甲 | 来源:发表于2019-04-25 10:05 被阅读0次

    前面几篇谈到了2进制数如果不考虑负数的情况下,如何表示以及如何做加法和减法。

    让我们快速复习下,3位的二进制数,可以表示的正整数范围是0到7。6-2等于6+(7-2+1)-8

    那么如果要考虑负数的情况,又是怎么样?

    首先,需要占用1位来表示正/负,那么可以表示的数就在00到11之间了。

    00到011的部分可以表示0-3,那么111又代表什么?

    假设把符号位忽略掉,用上一篇的知识来看(也就是把能表示的最大数从7变成了3),11其实是1的补码。再带上符号位,代表的就是-1。同理,再把其他情况枚举一下:

    负数的表示

    除了100所代表的,其他的负数都可以用对应正数的补码来表示。如果用它来表示-0,未免有点浪费。如果把位数拓展一下,把符号位也当成数据位,可以看成4的补码。那么就用它来表示-4吧。

    所以,3位二进制数能表示的数字范围变成了从-4到+3。

    相关文章

      网友评论

          本文标题:计算机是怎么保存负数的?

          本文链接:https://www.haomeiwen.com/subject/diqagqtx.html