正数的二进制补码是什么,原码又是什么?

作者&投稿:单饶 (若有异议请与网页底部的电邮联系)

[+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 原码(符号位不变,数值位取反)

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






~

正数的二进制补码是什么,原码又是什么?
答:[+0]反码=0000 0000, [-0]反码=1111 1111 [+0]补码=0000 0000, [-0]补码=0000 0000 补码没有正0与负0之分。正数的反码、补码和其源码相同,负数的反码是其源码,除符号位外其他位取反负数的补码是取其反码后加1。详细释义:所谓原码就是二进制定点表示法,即最高位为符号位,“0...

计算机的原码,反码,补码是怎么回事?可以举例说明吗?
答:原码、反码和补码是计算机中对数字二进制的三种表示方法。1、原码 原码(trueform)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。例如:用8位二进制表示一个数,...

二进制正,负数的原码,反码,补码三者之间是什么关系
答:可以通过原码、反码和补码三者的含义及关系来介绍三者之间的换算关系:1、原码原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如如果是8位二进制:[+1]原=00000001[-1]原=10000001第一位是符号位。2、反码正数的反码是其本身负数的反码是在其原码的基础上,符号位不变,其余各...

二进制补码怎么计算的
答:以-0.64为例,其原码为1.1010_0011_1101_0111b 则补码为:1.0101_1100_0010_1001b 当然在硬件语言如verilog中二进制表示时不可能带有小数点(事实上不知道哪里可以带小数点)。4、一般带小数的补码 一般来说这种情况下先转为整数运算比较方便 -97.64为例,经查询其原码为1110_0001.1010_0011_...

原码、反码、补码
答:原码就是这个数本身的二进制形式。 例如0000001 就是+11000001 就是-1 正数的反码和补码都是和原码相同。 负数的反码是将其原码除符号位之外的各位求反 [-3]反=[10000011]反=11111100 负数的补码是将其原码除符号位之外的各位求反之后在末位再加1。 [-3]补=[10000011]补=11111101 一个数和它的补码是可逆...

什么是二进制数的补码?
答:例如补码:10111010,反码(补码-1):10111001,原码(对反码逐位取反 符号位除外): 11000110最高位的1是符号位 0正、1负,二进制数11000110表示的十进制数就是:-70。十进制原则 十进制基于位进制和十进位两条原则,即所有的数字都用10个基本的符号表示,满十进一,同时同一个符号在不同位置上所...

小数的补码,原码,反码怎么相互转换?(二进制)
答:负数:原码 = 正数部分(去掉负号)的二进制值,且符号位(最左边的比特位)为1 反码 = 正数部分(去掉负号)的二进制值,按位取反 补码 = 反码 + 1 小数点依旧用点 定点数 所谓定点数是指小数点位置固定不变的数。在计算机中,通常用定点数来表示整数与纯小数,分别称为定点整数与定点小数。定...

原码,补码,反码都是什么意思,怎么算啊
答:“二进制:10“就是原码 为了凑够8位,在二进制10前面加6个0,变成00000010 2的原码:00000010 2的反码:00000010 2的补码:00000010 也就是,正数的原码,反码,补码都相同 下面是负数的原码、反码、和补码:3的原码:00000011 -3的原码:10000011 也就是最左边的那个数表示正负,0代表正,1...

原码、反码、补码
答:在计算机中表示的带符号的二进制数称为“机器数”(用形式上的码表示真实的数)。机器数有3种表示方式:原码、反码和补码。机器数的最高位为符号位,0表示正数,1表示负数,数值跟随其后。原码是与真值最接近的一种表示形式。原码的定义:[X]原 ={ X         ...

二进制中的反码、补码、原码是什么?
答:-1 的补码就是:-1 + 256 = 255 = 1111 1111 (二进制)。-2 的补码就是:254 = 1111 1110。。。-128 的补码就是:128 = 1000 0000。以上就是 256 组代码中的 128 个负数补码。正数,必须直接参加运算,不许做任何变换。正数本身,已经就是正数,所以并不存在什么“正数的补码”。-...