美文网首页
计算机中的负数

计算机中的负数

作者: 孤独面壁者 | 来源:发表于2021-08-02 10:40 被阅读0次

计算机中负数的表示很麻烦,比如-1

step1 :确认原码

-1的原码是1000 0001,其中最高位1是符号位,1表示负数,0表示正数;

step2:取反码

然后取反码,正数的反码就是自身,但是负数的反码就需要将对应的1变为0,0变为1,但是符号位不变。

1000 0001 -->1111 1110

step3:计算补码

补码就是在反码的基础上+1, -1的反码是1111 1110,那么对应补码就是1111 1111

仔细观察就可以发现有如下规律:

-1 补码是1111 1111    (第255个)

-2  补码是1111 1110   (第254个)

-3  补码是 1111 1101  (第253个)

当初为了用255个数表示正数、负数、和0,

那么前1~127表示正数,范围是(1~127)

第128~255个数表示负数,范围是(-127 ~ -1)

反码+补码的 本质就是表示 第n个数对应到第 255-n+1个数的变换算法。

相关文章

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

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

  • 计算机中的负数

    计算机中负数的表示很麻烦,比如-1 step1 :确认原码 -1的原码是1000 0001,其中最高位1是符号位,...

  • 补码

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

  • 补码与反码

    计算机中存储数据 都是以 补码的形式存储 正数: 补码 = 原码 负数 : 对应正数的原码 --> 取反 -...

  • 计算机补码

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

  • 运算符取反(~)过程

    运算符取反(~)过程: 前置知识: 计算机中:补码表示正负数计算机中:并不存在原码反码反码:零和正数的反码是自身;...

  • 计算机编码相关问题

    整数在计算机中的编码 整数在计算机中是以补码的形式存储的, 补码和原码的区别在负数上。 下面代码上展示了10这个整...

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

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

  • 【转载】关于2的补码 (2's complement)

    问一个基本的问题。 负数在计算机中如何表示? 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?...

  • 理解二进制补码的本质,别再死记硬背了

    问一个基本的问题。 负数在计算机中如何表示? 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?...

网友评论

      本文标题:计算机中的负数

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