导航:首页 > 创造发明 > 反码谁发明的

反码谁发明的

发布时间:2021-07-17 12:09:05

A. 关于计算机中原码补码反码的问题

原码最高位为符号位
反码 若为正数则与原码相同,若为负数则符号位不变,按位取反
补码 若为正数则与原码相同,若为负数则符号位不变按位取反末尾加一

B. 谁能介绍一下原码、反码、补码

这是指的二进制编码.原码就是原来的二进制编码,反码就是把原码按位取反,补码就是在反码的最低位是加一.如:
原码:101100100
反码:010011011
补码:010011100

C. 在原码,补码,反码中,谁的表示范围最大

8位二进制机器码为例说明:
.
原码范围:1111 1111b~0111 1111b
真值范围: -111 1111b~+111 1111b, 即 -127d~ +127d
.
反码范围:1000 0000b~0111 1111b
真值范围: -111 1111b~+111 1111b, 即 -127d~ +127d
.
补码范围:1000 0000b~0111 1111b
对应的真值范围:-1000 0000b~+111 1111b, 即 -128d~ +127d
.
就此可知,补码表示的数值范围最大。

D. C语言中的反码怎么转换成补码例如为什么反码是11110101而补码是11110110,求详细解释

其实复杂理解是很难的,我只知道这么弄的原因是计算机只能运算加法。(至少刚开始发明的时候是这样的),其他运算都是通过加法的基础实践的。为了操作减法不需要借位,所采用的技巧。。。。。。。可以网络,《编码的奥秘》。。。。。。所有的数据,什么视频,图片,音频,汉字,字母,数字,统统都是以二进制的形式表示的。

为了区分方便程序识别,在每个层次上都有相应的规范,

其中正负数的表示之间的区分就是,负数的表示方法是在正数的基础上反码,再加上1;就是对应的负数了,
比如3的整数表示就是原码00000011负数就是反码11111100加1,11111101就是-3在计算机中的存在形式;

E. 一个数的原码,反码,补码怎么算

计算机中的存储系统都是用2进制储存的,对我们输入的每一个信息它都会自动转变成二进制的形式,而二进制在存储的时候就会用到原码,反码和补码
例如:输入25
原码就是:0000000000011001
反码: 1111111111100110
补码: 1111111111100111

数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚. "(摘自<<数学发展史>>有空大家可以看看哦~,很有意思的).为了能方便的与二进制转换,就使用了十六进制(2 4)和八进制(23).下面进入正题.

数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了.假设机器能处理的位数为8.即字长为1byte,原码能表示数值的范围为

(-127~-0 +0~127)共256个.

有了数值的表示方法就可以对数进行算术运算.但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候就出现了问题,如下: 假设字长为8bits

( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10

(00000001)原 + (10000001)原 = (10000010)原 = ( -2 ) 显然不正确.

因为在两个整数的加法运算中是没有问题的,于是就发现问题出现在带符号位的负数身上,对除符号位外的其余各位逐位取反就产生了反码.反码的取值空间和原码相同且一一对应. 下面是反码的减法运算:

( 1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10

(00000001) 反+ (11111110)反 = (11111111)反 = ( -0 ) 有问题.

( 1 )10 - ( 2)10 = ( 1 )10 + ( -2 )10 = ( -1 )10

(00000001) 反+ (11111101)反 = (11111110)反 = ( -1 ) 正确

问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的.(印度人首先将零作为标记并放入运算之中,包含有零号的印度数学和十进制计数对人类文明的贡献极大).

于是就引入了补码概念. 负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在补码中用(-128)代替了(-0),所以补码的表示范围为:

(-128~0~127)共256个.

注意:(-128)没有相对应的原码和反码, (-128) = (10000000) 补码的加减运算如下:

( 1 ) 10- ( 1 ) 10= ( 1 )10 + ( -1 )10 = ( 0 )10

(00000001)补 + (11111111)补 = (00000000)补 = ( 0 ) 正确

( 1 ) 10- ( 2) 10= ( 1 )10 + ( -2 )10 = ( -1 )10

(00000001) 补+ (11111110) 补= (11111111)补 = ( -1 ) 正确

所以补码的设计目的是:

⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.

⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计

所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码

F. -5的原码、反码和补码各是多少啊,5呢

-5的原码、反码和补码各是10000101、11111010和11111011。

5的原码、反码和补码各是00000101、01111010和01111011。

计算机中的存储系版统都是用2进制储存权的,对我们输入的每一个信息它都会自动转变成二进制的形式,而二进制在存储的时候就会用到原码,反码和补码。

例如:输入25

原码就是:0000000000011001

反码: 1111111111100110

补码: 1111111111100111

(6)反码谁发明的扩展阅读:

补码是为了计算方便而发明的。原始计算器只能做加法不能做减法,但是科学家发现,例如7+(-5)=2可以这样算:7+(-5) = 7+(10000-5)-10000 = 10002 - 10000 = 2 。

这很奇怪,因为机器太傻,只能做加法,但是虽然不会减法,-10000还是很方便的,只要去掉开头的1;用10000减也是很方便的,因为可以用9999减然后+1,而用9999减,只要把每一位用9减。

G. 原码、反码、补码的产生、应用以及优缺点有哪些

1、 原码:是机器数的一种简单的表示法。其符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。
优点:最简单直观。
缺点:不能直接参加运算,可能会出错。
原码来历:在机器中,只能识别二进制数字,所以所以的数字都用原码来表示。
2、 反码:可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。
优点:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则。
缺点:没有缺点
反码来历:为了解决“正负相加等于0”的问题,在“原码”的基础上,人们发明了“反码”
3、 补码:可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的
优点:可以把负数直接拿来算加法。
缺点:容易忘记公式,计算错误。

补码来历:计算机里面,只有加法器,没有减法器,所有的减法运算,都必须用加法进行,用补数代替原数,可把减法转变为加法。
4、 在计算机中为什么要使用补码:由于原码和反码中,+0与-0的表示并不相同,所以计算机中一般使用补码。其实还有一个更重要的作用,就是利用高位溢出,将减法运算变成加法。

H. 为什么要引入数的反码和补码

1、 原码:是机器数的一种简单的表示法。其符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。
优点:最简单直观。
缺点:不能直接参加运算,可能会出错。
原码来历:在机器中,只能识别二进制数字,所以所有的数字都用原码来表示。
2、 反码:可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。
优点:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则。
缺点:0的表示不唯一
反码来历:为了解决“正负相加等于0”的问题,在“原码”的基础上,人们发明了“反码”
3、 补码:可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的
优点:可以把负数直接拿来算加法。
缺点:容易忘记公式,计算错误。
补码来历:计算机里面,只有加法器,没有减法器,所有的减法运算,都必须用加法进行,用补数代替原数,可把减法转变为加法。
4、 在计算机中为什么要使用补码:由于原码和反码中,+0与-0的表示并不相同,所以计算机中一般使用补码。其实还有一个更重要的作用,就是利用高位溢出,将减法运算变成加法。

I. 补码,原码,反码什么的。有什么作用啊!

这三个词是计算机里面的内容,下面依次解释:

原码:原码就是早期用来表示数字的一种方式: 一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码。

举例:

int类型的 3 的原码是 11B(B表示二进制位), 在32位机器上占四个字节,那么高位补零就得:

00000000 00000000 00000000 00000011

int类型的 -3 的绝对值的二进制位就是上面的 11B 展开后高位补零就得:

10000000 00000000 00000000 00000011

但是原码有几个缺点,零分两种 +0 和 -0 。很奇怪是吧!还有,在进行不同符号的加法运算或者同符号的减法运算的时候,不能直接判断出结果的正负。你需要将两个值的绝对值进行比较,然后进行加减操作 ,最后符号位由绝对值大的决定。于是反码就产生了。

反码:正数的反码就是原码,负数的反码等于原码除符号位以外所有的位取反

举例:

int类型的 3 的反码是

00000000 00000000 00000000 00000011

和原码一样没什么可说的

int类型的 -3 的反码是

11111111 11111111 11111111 11111100

除开符号位,所有位,取反

解决了加减运算的问题,但还是有正负零之分,然后就到补码了

补码:正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了),然后最低位加1.

举例:

int类型的 3 的补码是:

00000000 00000000 00000000 00000011

int类型的 -3 的补码是

11111111 11111111 1111111 11111101

就是其反码加1

最后总结:

正数的反码和补码都与原码相同。

负数的反码为对该数的原码除符号位外各位取反。

负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1。

(9)反码谁发明的扩展阅读

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号"0''.''1''的某种代数演算,二进制是逢2进位的进位制。0、1是基本算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。

阅读全文

与反码谁发明的相关的资料

热点内容
中国城市老年体育公共服务体系的反思与重构 浏览:932
网络著作权的法定许可 浏览:640
工商局党风廉政建设工作总结 浏览:325
公共服务平台建设可行性研究报告 浏览:428
投诉华尔街英语 浏览:202
榆次区公共卫生服务中心 浏览:990
申发明5G 浏览:815
矛盾纠纷排查调处工作协调会议记录 浏览:94
版权贸易十一讲 浏览:370
综治办矛盾纠纷排查调处工作总结 浏览:903
知识产权局专业面试 浏览:75
马鞍山市是哪个省的 浏览:447
马鞍山市保安 浏览:253
股权转让样本 浏览:716
工程管理保证书 浏览:198
社区矛盾纠纷排查汇报 浏览:352
新疆公共就业服务网登陆 浏览:316
侵权著作权案件审理指南上海 浏览:145
马鞍山陆建双 浏览:853
北京东灵通知识产权服务有限公司西安分公司 浏览:6