大家好,欢迎来到“一分钟教会”系列。今天在讲之前,先带大家了解《真值》。为什么呢?因为我们今天讲的东西都是基于“真值”来说的。

一.真值是什么

       (个人理解) 简单来说,就是“人一眼就能看懂的数字

        (定义)真值指数学中的实际数值,包括正负。例如,+5 和 -5 是两个不同的真值。

        +5和-5,对吧,我们一眼就能看出来这个数值是正的还是负的,以及它的大小为多少。

所以就很简单。

        你们应该都知道5的二进制为多少吧,是101.如果不熟的,可以自己慢慢推导。所谓的“二进制”就是满2进1.

二.原码是啥? 

        首先,说一下真值的结构是什么样子的?

        符号位,设有两个值,一个是0表示正数,1表示负数。

  • 原码直接反映真值的符号和绝对值
    最高位为符号位(0正1负),其余位表示绝对值的二进制形式。
    例如:
    • 真值 +5 的原码:0 0000101(你看,前面的0,就是代表+5是正数
    • 真值 -5 的原码:1 0000101
  • 优点:直观,与人类书写负数的习惯一致。
  • 缺点:加减运算需处理符号位,导致硬件设计复杂。(因为我们脑子转的快,所以我们很快算出正负数相加,但是计算机不一样啊,它需要严谨,需要判断每个数字的符号和大小,所以这样就很复杂。

 

三.简单的反码

         反码,真的就是字面意思啊,把数字反过来。在计算机中,它只采用二进制。所以反码把数值位中的0换成1,1换成0就可以了。

        我特地把变化的部分,用直线穿起来了。是不是很贴心?

 

四.容易的补码 

        补码,也真就字面意思,在反码的基础上补个1.ok,我来展示一下。

         直接在后面加个1,就结束了,所以不要想的复杂。

五.非常容易的“移码”

        移码,这个字面意思不好猜,因为它只改变符号位,前面说了,真值分为符号位和数值位、小数点。这个移码只需要改变符号位就可以了。(即正数变负数,负数变正数)

        移码是基于:“补码”的。         每个码的操作都是基于上一个码,所以很简单。

结束。总结一下,原码、反码、补码、移码都是基于“真值”的。那么真值是什么?真值就是人一眼能知道正负和大小的值。四个码的操作都是用真值来的。

原码就是带有符号的二进制位。

反码就是将数值位的数字都取反。

补码就是将反码的值加1.

移码就是将补码的符号位取反。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐