什么是原码 补码 反码

作者&投稿:良静 (若有异议请与网页底部的电邮联系)
什么是原码、反码、补码?~

计算机中,只用补码表示正负数。

在计算机中,并不存在原码反码。

求补码,也有更简单的方法,也用不着原码反码。

所以,原码反码,都没有任何用处。

以八位码长,来说明计算机中的补码:

 数字 0 的补码是:0000 0000。

 数字 1 的补码是:0000 0001。

 数字 2 的补码是:0000 0010。

 。。。依次递增。。。

 数字 127 的补码,就是:0111 1111。

负数,你就依次递减吧。

 数字 0 的补码是:0000 0000。

 数字 -1 的补码是:1111 1111。(=255)

 数字 -2 的补码是:1111 1110。(=254)

 。。。依次递减。。。

 数字 -128 的补码,就是:1000 0000。(=128)

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

由此可推出补码的定义:

 零和正数的补码,就是该数字本身。

 负数的补码,就是:256 + 该负数。

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

这就是:计算机中,正负数的存放格式。

其他说法如:原码反码符号位,都是人为瞎编的。

它们和计算机,没有任何关系。



引入原码
反码
和补码的目的就是为了解决减法问题,因为计算机CPU的运算器中只有加法器,要把减法转化成加法来计算.
举个例子,A表示十进制数“+16”,B表示十进制数“-19”,把这两个数的原码直接相加,得:
A=+16
(A)原=00010000
B=-19
(B)原=10010011
00010000
+
10010011
————
10100011
其结果符号位为1是负数,其数值位为100011,即等于十进制数“-35”,这显然是错的结果.
再比如,十进制数“+16”与“+19”的原码直接相减,得:
00010000
-
00010011
————
11111101
结果为“-125”,这又是错的.
但是引入补码后,加减法都可以用加法来实现,如“-16+11”的运算:
11110000
+
-16的补码
00001011
11的补码
————
11111011
-5的补码
如果是“-16-11”,那么就转化为加法运算“-16+(-11)”
11110000
+
-16的补码
11110101
-11的补码
————
111100101
-27的补码
在字长为8位的系统中,最高位所产生的进位被自然丢弃,运算结果的机器数为11100101,是-27的补码形式,结果正确.
顺便告诉你一些其它的东西:
1.二进制数中,两数的补码之和等于两数和的补码.
2.补码=反码+1
3.反码=原码除符号位外其它数值取反(即该数的绝对值取反),即“0”变“1”,“1”变“0”.
4.任何正数的原码
反码
补码的形式完全相同(即都是自身,不变)
5.在计算机中,有符号的数都是采用补码来表示的.
6.计算的时候,符号位也参与运算.




路桥区13717346974: 什么是原码、反码、补码? -
众史甘维:[答案] 1、原码的定义 原码表示法是机器数的一种简单的表示法.其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示.设有一数为x,则原码表示可记作[x]原. ①小数原码的定义 [X]原 = X 0≤X <1 1- X -1 < X ≤ ...

路桥区13717346974: 原码,反码,补码的定义是什么.最好能举例说明呵呵! -
众史甘维:[答案] 原码: 在数值前直接加一符号位的表示法.对于8位二进制来说: [+7]原= 0 0000111 [-7]原= 1 0000111 反码: 正数的反码与原码相同. 负数的反码,符号位为“1”,数值部分按位取反. [+7]反= 0 0000111 [-7]反= 1 1111000 补码: 正数的补码和原码...

路桥区13717346974: 什么是原码,补码和反码 -
众史甘维: 原码就是题目给你的010011001这种二进制码,反码就是把原码的0变1,1变0,如101100110,补码就是反码加1,就是101100111我觉得很通俗了

路桥区13717346974: 原码,反码,补码是什么?例如:78的二进制数是01001110.那它的原码,补码,反码各是什么? -
众史甘维:[答案] 正数的原码,补码,反码相同,先求原码,因为正数的原码就是他的真值. 负数的原码是在正数的原码基础上,最高位置1,即符号位.然后再求反码:符号位1不变,后面的所有位取反,然后再求补码:在反码的基础上,末尾加1 .注意负数的反码,补...

路桥区13717346974: 什么是原码、反码、补码? -
众史甘维: 1、原码的定义 原码表示法是机器数的一种简单的表示法.其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示.设有一数为x,则原码表示可记作[x]原. ①小数原码的定义 [X]原 = X 0≤X

路桥区13717346974: 原码.反码.补码的定义是什么? -
众史甘维: 计算机中的存储系统都是用2进制储存的,对我们输入的每一个信息它都会自动转变成二进制的形式,而二进制在存储的时候就会用到原码,反码和补码 例如:输入25 原码就是:0000000000011001 反码: 1111111111100110 补码: ...

路桥区13717346974: 原码,反码,补码怎么解释 -
众史甘维: 将10进制数转换成2进制数,称为原码,原码各位取反称为反码,反码最低位+1,称为补码. 这些主要是为了表示负数,才有了这些概念.

路桥区13717346974: 什么是原码 什么是补码 二者有什么联系 -
众史甘维:[答案] 假设机器码为8位, 比如15,他的二进制是00001111,因为他是正数,所以原码为00001111(不变),反码为01110000,补码为01110001 比如-15,他的二进制是-00001111,因为他是负数,所以原码为10001111(第一位为符号位,1表示负,0...

路桥区13717346974: 什么是补码原码和反码? -
众史甘维: 用二进制数表示数值的方法: 原码表示法是机器数的一种简单的表示法.最高位是符号位,其符号位用0表示正号,用:1表示负号,数值一般用二进制形式表示.例 6的 8位二进制原码=00000110;-6的 8位二进制原码=10000110 反码可由原码...

路桥区13717346974: 原码反码和补码的含义分别是什么? -
众史甘维: 数在计算机中是以二进制形式表示的. 数分为有符号数和无符号数. 原码、反码、补码都是有符号定点数的表示方法. 一个有符号定点数的最高位为符号位,0是正,1是副.以下都以8位整数为例,原码就是这个数本身的二进制形式. 例如 ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网