b2c信息网

您现在的位置是:首页 > 热点事件 > 正文

热点事件

计算机减法是补码还是源码(什么是补码?在计算机中,为何引入补码)

hacker2022-09-14 04:30:19热点事件97
本文目录一览:1、计算机如何区别原码与补码2、

本文目录一览:

计算机如何区别原码与补码

使用补码的意义在于:可把负数变正数,可把减法变加法。

从这个实用性来讲,计算机中,只是用补码。原码根本就不存在。

-------

计算机,是执行程序的。程序,都是由人,编写的。

所以,不是计算机来区别原码、补码。

而是由人,来区别。

-------

如果限定,只是使用两位十进制数 0~99,共有一百个。

那么,减一,就可以用 +99 代替:

24 - 1 = 23

24 + 99 = (1)  23

只保留两位,忽略进位,结果就是相同的。

99,就称为-1 的补数。

-------

看到了吗?出现了进位。

如果你忽略了进位,实际上就是减法运算!

--这时,99 就是补数,是当做-1 来用的。

如果不忽略进位,结果就是 1 百 23,这还是加法运算。

--此时,99,就是正常的数字。

。。。。。。

一个代码,到底是原来的数字,还是代表负数?

就看你怎么对待它了。

这些都是由编程人,来决定。

计算机,它才不管这些。

请问计算机中补码,原码,反码,移码的定义以及各自的作用是什么,本人编程新手,讲得通俗易懂一点

在计算机系统中,数值,一律采用补码表示和存储。

这就是说,计算机中,并没有原码和反码。

原码和反码,只是在求补码时,表现一下存在感而已。

但是,求补码,还有更正规的方法,完全可以不经过原码反码,就求出补码。

由补码,再求其代表的数值,也可以不用原码反码。

那么,就可以说,原码和反码,都没有任何用处。

-----------------------

补码,是什么呢?

其实,补码,就是一个“代替负数做运算”的正数。

使用了补码,计算机中就没有负数了,也就没有减法了。

那么,计算机只需要一个加法器,就可以走遍天下了。

补码的用处之一,就是简化计算机的硬件。

-----------------------

补码(也就是正数),怎么就能代表负数呢?

其实,道理也很简单。

你看 2 位 10 进制数吧:

25 - 1 = 24

25 + 99 = (一百) 24

进位是 10^2 = 100,这也是 2 位数的计数周期。

这个进位,显然不在 2 位数之中,那就舍弃吧。

只取 2 位数的结果,+99 和-1 的作用,就是相同的。

只要舍弃了进位,正数,就可以代替负数。

这个正数,就是“负数的补数”。

求补数的公式: 补数 = 负数 + 周期。

-----------------------

在三角函数中,大家都知道:

-π/2 和 +3π/2,这两个角度,功能也是相同的。

负角度,和正角度,要怎么变换呢? 

也是用这样的公式: 正角度 = 负角度 + 周期(2π)。

-----------------------

计算机用二进制,补数,就改称为:补码。

8 位 2 进制是:0000 0000~1111 1111 (十进制 255)。

其计数周期是:2^8 = 256。

此时,-1 就可以用 255  (1111 1111)  代替。

同理,-2 的补码就是 254 (1111 1110)。

。。。

正数,本身就是正数,必须直接参加运算,不许再作任何变换。

所以,正数,根本就没有补数(补码)。

以上就是“求补码的正规做法”。

从中可以看到,并没有使用原码和反码,就把补码求出来了。

-----------------------

示例,5 - 7 = -2,用补码计算如下:

5  = 0000 0101

 -7 的补码  = 1111 1001

-相加-------------

 得: (1)   1111 1110   = -2 的补码

舍弃进位,只取 8 位,结果就是正确的。

借助于补码,就可以用加法,实现减法运算。

原码和反码,都没有这种功能。

所以,在计算机中,根本就不使用原码和反码。

那么,原码和反码是什么呢?

只是老师讲课的资料而已,实际上,它们什么都不是。

原码和补码是什么意思

原码,没有任何意义。

补码具有:用正数代替负数,把减法变成加法运算的功能。

这样,计算机中,只需用一个加法器,便可进行加减运算了。

所以,在计算机中,只是使用补码。根本就不用原码和反码。

对于钟表,倒拨 4 小时,可用正拨 8 小时代替。

对于十进制数,减一,可以用 +99 代替。

比如:24-1 = 23

 24 + 99 = (1) 23

忽略进位,只取低两位,结果就是相同的。

这里用来代替负数的正数,就叫做“补数”。

计算机用二进制,就叫做“补码”。

正数,直接运算即可,不用求补码。

负数的补码是:模+该负数。

八位二进制的模是:2 的 8 次方=256。

-1 的补码,就是:256-1 =255 = 1111 1111(二进制)。

-2 的补码,就是:256-2 =254 = 1111 1110(二进制)。

。。。 。。。

-128 的补码,就是:256-128 =128 = 1000 0000(二进制)。

求补码,用公式就可得出,并不需要绕道原码反码符号位。

发表评论

评论列表

  • 绿邪囍神(2022-09-14 16:02:28)回复取消回复

    补码,就是:256-1 =255 = 1111 1111(二进制)。-2 的补码,就是:256-2 =254 = 1111 1110(二进制)。。。。 。。。-128 的补码,就是:256-128 =128 =

  • 痴妓喜余(2022-09-14 09:30:03)回复取消回复

    的资料而已,实际上,它们什么都不是。原码和补码是什么意思原码,没有任何意义。补码具有:用正数代替负数,把减法变成加法运算的功能。这样,计算机中,只需用一个加法器,便可进行加减运算了。所以,在计算机中,只是使用补码。

  • 痴妓囍神(2022-09-14 10:46:11)回复取消回复

    并没有原码和反码。原码和反码,只是在求补码时,表现一下存在感而已。但是,求补码,还有更正规的方法,完全可以不经过原码反码,就求出补码。由补码,再求其代表的数值,

  • 萌懂疚爱(2022-09-14 11:51:29)回复取消回复

    000 0000~1111 1111 (十进制 255)。其计数周期是:2^8 = 256。此时,-1 就可以用 255  (1111 1111)  代替。同理,-2 的补码就是 254 (1111 1110)。。。