① 补码是谁发明的,它的最初作用是什么
补码就是正数的原码的相反数的另一种编码方式。它能把字长内的正数,补足为全是0。
② 原码、反码、补码的产生、应用以及优缺点有哪些
1、 原码:是机器数的一种简单的表示法。其符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。
优点:最简单直观。
缺点:不能直接参加运算,可能会出错。
原码来历:在机器中,只能识别二进制数字,所以所以的数字都用原码来表示。
2、 反码:可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。
优点:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则。
缺点:没有缺点
反码来历:为了解决“正负相加等于0”的问题,在“原码”的基础上,人们发明了“反码”
3、 补码:可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的
优点:可以把负数直接拿来算加法。
缺点:容易忘记公式,计算错误。
补码来历:计算机里面,只有加法器,没有减法器,所有的减法运算,都必须用加法进行,用补数代替原数,可把减法转变为加法。
4、 在计算机中为什么要使用补码:由于原码和反码中,+0与-0的表示并不相同,所以计算机中一般使用补码。其实还有一个更重要的作用,就是利用高位溢出,将减法运算变成加法。
③ 二进制数字系统是谁发明的
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的专数。它属的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
④ 补码存在的意义
补码可复以简化计算机制的设计。
对于人脑而言,做加减题时,第一反应就是根据符号位,来选择对真值区域的加减。但是计算机而言,像加减乘除这类最最基础也是应用得最频繁的基本运算,在物理逻辑的设计上一定要设计的尽量简单。
如果让计算机也先判断符号位再分别做加或者减的运算的话,会使得计算机的电路设计变得较为复杂。人类发明了将符号位也参与进运算的方法来。对于计算机而言,不管是加法还是减法,都统一用加法来做运算,可以使得计算机的设计变得更加的简单。
(4)补码是谁发明的扩展阅读:
补码是另一种编码方式。与反码类似,正数的补码是它本身,而负数的补码则是它的反码再+1。同样,对于负数而言,补码也是无法直观地看出数值的,需要转成原码。
CPU 的基本单元 ALU 模块。在ALU里,加法是最基本的运算。通过程序,乘法可以转换为加分,除法可以转换为减法。补码表示,则可以让减法直接转换为加法。这样,ALU 核心只需要加法器即可满足功能,加法器可以通过集成电路中的晶体管来实现。
⑤ c语言里面,反码谁发明的
当然是c语言的专家了。
所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
原码10010= 反码11101 (10010,1为符号码,故为负)
(11101) 二进制= -2 十进制
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
提示信息不要太少,可“某某数的反码是某某”,而不是只显示数值。
1.原码的求法:(1)对于正数,转化为二进制数,在最前面添加一符号位(这是规定的),用1表示负数,0表示正数.如:0000 0000是一个字节,其中左边第一个0为符号位,表示是正数,其它七位表示二进制的值.其实,机器不管这些,什么符号位还是值,机器统统看作是值来计算. 正数的原码、反码、补码是同一个数!
(2)对于负数,转化为二进制数,前面符号位为1.表示是负数.
计算原码只要在转化的二进制数前面加上相应的符号位就行了.
2.反码的求法:对于负数,将原码各位取反,符号位不变.
3.补码的求法:对于负数,将反码加上二进制的1即可,也就是反码在最后一位上加上1就是补码了.
⑥ 补码表示数据
为了表示负数,才发明了补码。
对于两位十进制数,范围是:00~99。
当加上-1(或减去1)时,可以用加上99代替。
比如:
20 - 1 = 19,
20 + 99 = 119,限定两位,就是19,
-1和99,存在一个“模”100。
利用“模”,就可以把负数,写成正数。
对于8位2进制数,共有256个数字,范围是:0000 0000 ~ 1111 11111 (0 ~ 255)。
当加上-1(或减去1)时,可以用加上1111 1111(255)代替。
-1和255,存在一个“模”256。
利用“模”,就可以把负数,写成正数。
那么,共有256个数字,用128个代表负数:
-1,可以写成256-1=255=1111 1111;
-2,可以写成256-2=254=1111 1110;
……
-128,可以写成256-128=128=1000 0000。
就是说:128~255,是代表负数的:-128~-1。
另外128个数字:0~127,直接代表0和正数,不用变化。
所以,可表示的数据范围就是:-128~127。
⑦ 计算机中使用补码进行减法运算,两个正数相加怎么弄
都是一样的,不管是正数负数
因为补码就是专门为了解决计算机只能做加法而不能做减法而设计的
并且,补码已经考虑了正零和负零这样一个数却有两种表示形式的特殊情况,这是印度人发明的表示方法
而且,补码也已经考虑了符号位,符号位也参加到运算中去了。
⑧ 计算机为什么使用补码来存储数据
补码的功能,类似于:
时针倒拨 3 小时,与正拨 9 小时,效果相同。
利用这种思路,计算机中的负数,也可以改为正数(即补码)。
那么,减法运算,也就可以用加法运算代替了。
因此,利用补码,就能统一加减法,够简化计算机的硬件。
十进制比较容易理解:
25 - 1 = 24
25 + 99 = (一百) 24。
只要忽略进位,+99 就能代替-1。
+99 就称为-1 的补数。
在这里用了 2 位 10 进制。
求补数的算法:补数 = 负数 + 10^2。
通用的公式是:补数 = 负数 + 10^n。n 是位数。
-----------------------
计算机用二进制,补数,就改名为:补码。
一个字节,是 8 位 2 进制。
计数范围是:0000 0000 ~ 1111 1111(十进制 255)。
计数周期是:2^8 = 256。
求补码的算法:负数的补码=负数+2^n。
那么:
-1 的补码=-1 + 256 = 255 = 1111 1111。
-2 的补码=-2 + 256 = 254 = 1111 1110。
。。。
例如,7-2 = 5,用补码计算如下:
7 = 0000 0111
[-2] 补 = 1111 1110
---相加------------
得:(1) 0000 0101 = 5
舍弃进位,结果就完全正确。
借助于补码,负数就没有了,从而就把“减法转换为加法运算”。
-----------------------
补码的来源,与原码反码毫无关系。
“取反加一、符号位也能参加运算”,这些,都没有什么理论依据。
通过原码反码,已经证明“符号位能参加运算”是错误的。
补码能正确运算,并不是什么“符号位也参加运算”。
因为,补码,它就是一个正数,什么符号位也没有。
补码的全部位,都是代表数据的,当然就都可以参加运算。
⑨ 计算机的补码是谁发明的
美国的一个研究导弹的,钱学森在美国时的一个同事
⑩ 补码有什么用
计算机用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候会出现了问题,于是发明了补码,解决了这个问题。
简单来说,补码,主要用于负数和减法运算。
(1)补码,使符号位能与有效值部分一起参加运算,从而简化运算规则。例如,计算机内正0和负0是不同的数,但实际上都是0。采用补码就简化了运算。
(2)补码,使减法运算转换为加法运算,,进一步简化计算机中运算器的线路设计
计算机里的硬件“加法器”,专门用于两数相加。减一个数 的时候,可以变成加 一个 负的这个数,负数写成补码形式,就可以用 加法代替减法,用 “加法器”来执行。不需要另外设计一个新的“减法器”。硬件的运行速度比软件快很多很多。