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

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

作者: 日更专用小马甲 | 来源:发表于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。

相关文章

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

    前面几篇谈到了2进制数如果不考虑负数的情况下,如何表示以及如何做加法和减法。 让我们快速复习下,3位的二进制数,可...

  • 补码

    计算机中用补码来表示负数。以Java语言为例,int类型为32位4字节。 怎么求补码? 正数的补码为其本身;负数的...

  • 计算机中二进制补码的运算原理

    在计算机中负数以补码形式表示,计算负数补码的方法是符号位不变,其余位按位取反再加1。简言之,补码是计算机中用来表示...

  • 负数是怎么来的?

    复数它是怎么来的生活中我们经常用到的也许就是小数以及自然数这些数。里面的生活中自然数和小数这些就已经运用到了很多,...

  • 负数在计算机中是怎么存储

    今天,发生一件非常有趣的事情。 公司同事问了我一个问题:为什么 2.0 - 1.1 = 0.89999999 呢?...

  • 十进制,二进制,以及相互转换

    二进制 计算机以二进制补码的形式保存所有的整数 正数的原码、反码、补码都相同 原码:最高位符号位,正数为0,负数为...

  • #编程基础#计算机怎么存储负数

    计算机中是用二进制来存储数据的。例如用八位二进制来表示数字,便是从00000000到11111111分别与十进制的...

  • 负数计算机中怎么表示?

    8 的在计算机中二进制为1000,那 -8 呢? 用一个二进制位(bit)标识符号位,等于0就是正数,等于1就是负...

  • [转] 原码、反码、补码的产生、应用以及优缺点有哪些?

    我尝试硬生生的把它们串起来哈 数字在自然界中抽象出来的时候,一棵树,两只猪,是没有正数和负数的概念的 计算机保存最...

  • 计算机补码

    负数在计算机中如何表示? 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢? 很容易想到,可以将...

网友评论

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

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