正数的原码,补码,反码是什么?

www.zhiqu.org     时间: 2024-06-01

[+0]原码=0000 0000,   [-0]原码=1000 0000

[+0]反码=0000 0000,   [-0]反码=1111 1111

[+0]补码=0000 0000,   [-0]补码=0000 0000  

补码没有正0与负0之分。正数的反码、补码和其源码相同,负数的反码是其源码,除符号位外其他位取反负数的补码是取其反码后加1。

详细释义:

所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

(一)反码表示法规定:

1、正数的反码与其原码相同;

2、负数的反码是对正数逐位取反,符号位保持为1;

(二)对于二进制原码10010求反码:

((10010)原)反=对正数(00010)原含符号位取反= 反码11101 (10010,1为符号码,故为负)

(11101) 二进制= -2 十进制

(三)对于八进制:

举例 某linux平台设置了默认的目录权限为755(rwxr-xr-x),八进制表示为0755,那么,umask是权限位755的反码,计算得到umask为0022的过程如下:

原码0755= 反码 0022 (逐位解释:0为符号位,0为7-7,2为7-5,2为7-5)

(四)补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

扩展资料

转换方法

由于正数的原码、补码、反码表示方法均相同,不需转换。在此,仅以负数情况分析。

(1) 已知原码,求补码。

例:已知某数X的原码为10110100B,试求X的补码和反码。

解:由[X]原=10110100B知,X为负数。求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加1。

1 0 1 1 0 1 0 0 原码

1 1 0 0 1 0 1 1 反码,符号位不变,数值位取反

1 +1

1 1 0 0 1 1 00 补码

故:[X]补=11001100B,[X]反=11001011B。

(2) 已知补码,求原码。

分析:按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1 有方法。

例:已知某数X的补码11101110B,试求其原码。

解:由[X]补=11101110B知,X为负数。

采用逆推法

1 1 1 0 1 1 1 0 补码

1 1 1 0 1 1 0 1 反码(末位减1)

1 0 0 1 0 0 1 0 原码(符号位不变,数值位取反)

参考资料来源:百度百科  反码






~


#姜江邦# 计算机原码、反码、补码怎么表示 -
(13262301491): 计算机中的数都是以补码存储的,正数的原码、反码和补码相同,所以正数只要知道原码就行了,比如10的原码、反码和补码都为00001010;那么负数的话就有所区别了,比如-10的原码、反码和补码(以8个字节)为例: 原码:10001010 最高位为符号位(正数为0,负数为1) 反码:11110101 符号位不变,其余取反 补码:11110110 在反码基础上加1

#姜江邦# 原码、反码、补码,计算机中负数的表示? - 作业帮
(13262301491):[答案] 一:对于正数,原码和反码,补码都是一样的,都是正数本身. 对于负数,原码是符号位为1,数值部分取X绝对值的二进制. 反码是符号位为1,其它位是原码取反. 补码是符号位为1,其它位是原码取反,未位加1. 也就是说,负数的补码是其反码未位...

#姜江邦# 什么叫原码 补码 反码
(13262301491): 简单说就是二进制数 分正数和负数之分 正数的原码 反码 补码 都一样 负数的反码是0变1 1变0 补码就是在反码的基础上加1. 明白不 ? 好好整吧,加油 相信你一定能搞定.

#姜江邦# 计算机的原码,反码,补码是怎么回事?可以举例说明吗? -
(13262301491): 计算机的原码,反码,补码是怎么回事?可以举例说明吗?计算机中,并没有原码和反码.补码是怎么回事?这得从“补数”谈起.计算机所计算的位数,是固定的,如八位机...位数限定之后,就可以用“补数”代替负数,用加法实现减法...

#姜江邦# 请大侠告诉我原码,反码,补码的定义
(13262301491): 原=10110100B 为负数 求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加1. 1 0 1 1 0 1 0 0 原码 1 1 0 0 1 0 1 1 反码,符号位不变,数值位取反 1 +1 1 1 0 0 1 1 0 0 补码 反=11001011B 补=11001100B

#姜江邦# 请问,什么叫原码反码补码?说简单些 -
(13262301491): 原码表示法是机器数的一种简单的表示法.其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示.设有一数为x,则原码表示可记作[x]原.补码可由原码得到.如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的.设有一数X,则X的补码表示记作[X]补.反码可由原码得到.如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的.设有一数X,则X的反码表示记作[X]反.

#姜江邦# 什么是原码、反码、补码、移码、crc循环冗余码? -
(13262301491): 原码、反码和补码 在计算机内,定点数有3种表示法:原码、反码和补码 所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小. 反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外.补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1 移码与补码的关系: [X]移与[X]补的关系是符号位互为反码,例如: X=+1011 [X]移=11011 [X]补=01011 X=-1011 [X]移=00101 [X]补=10101 crc循环冗余码太复杂了,你还是找书看吧

#姜江邦# 计算机原理的关于原码、补码、反码的表示 -
(13262301491): 如果这个二进制是 (1)正数:原码,补码都是他本身,反码就是0变1,1变0,(2)负数:原码也是它本身啊,反码也一样,0变1,1变0,但是补码要取反加一,也就是用它的反码+1,如果这个二进制是一个正数则最高位为0负数则为1 (原码就是一个数的二进制表示形式),回答的扣题不,不行再问

#姜江邦# 补码,原码,反码 -
(13262301491): 正数的反码,补码,原码都是其本身,只不过在前面加上符号位(0).正数的符号用0表示而对于负数的符号用1表示……对于负数反码就是按位取反(-10101)反就是(101010),而原码就是在最高位也就是符号位加1就可以了.补码就是求出过反码之后在最低位加1,就拿上面的例子来说,(-10101)反码就是(101010)补码就是(101011).如果机器位不一样得出的结果也是不一样的…………

#姜江邦# 谁可以告诉我计算机中补码,反码和原码的准确定义? -
(13262301491): 原码是一串二进制数,是原始数据,最高位为符号位,正数为0,负数为1. 反码是对原码各位进行求反得到,不改变符号位. 补码分两种情况: 1,对正数来说,补码即原码. 2,对负数来说,补码是原码的反码再加上1. 计算机中一般用补码来表示数据.