导航:首页 > 源码编译 > 正数负数源码反码补码

正数负数源码反码补码

发布时间:2023-06-15 01:55:57

Ⅰ 计算机的原码,反码,补码是怎么回事可以举例说明吗

计算机的原码,反码,补码是怎么回事?

可以举例说明吗?

计算机中,并没有原码和反码。

补码是怎么回事?

这得从“补数”谈起。

计算机所计算的位数,是固定的,如八位机。。。

位数限定之后,就可以用“补数”代替负数,用加法实现减法运算。

如两位十进制,-1,就可以用 +99 代替。

25 - 1 = 24

25 + 99 = (一百) 24

舍弃进位,只取两位,这两种算法功能就是相同的。

99,就是-1 的补数。计算公式:补数 = 一百+负数。

一百,是两位十进制数的计数周期。

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

计算机用二进制,补数,就改称为:补码。

八位二进制:0000 0000 ~ 1111 1111 (十进制 255)。

计数周期是:2^8 = 256。

所以,-1 补码就是 256 + (-1) = 255 = 1111 1111(二进制)。

用不存在的“原码反码取反加一”来求,也是这个结果。

求负数补码的计算公式: 周期 + 该负数。

正数,不用转换。也可以说,正数自身就是补码。

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

可以举例说明吗?

例如: 7-3 = 4。

用补码的计算过程如下:

7 的补码=0000 0111

-3的补码=1111 1101

--相加-------------

得(1) 0000 0100 = 4 的补码

舍弃进位,只保留八位作为结果,这就实现了 7-3。

Ⅱ 二进制正,负数的原码,反码,补码三者之间是什么关系

2、符号位的表示:最常用的表示方法有原码、反码和补码。
(1)原码表示法:一个机器数x由符号位和有效数值两部分组成,设符号位为x0,x真值的绝对值|x|=x1x2x3...xn,则x的机器数原码可表示为:
[x]原=
,当x>=0时,x0=0,当x<0时,x0=1。
例如:已知:x1=-1011B,x2=
+1001B,则x1,x2有原码分别是
[x1]
原=11011B,[x2]原=01001B
规律:正数的原码是它本身,负数的原码是取绝对值后,在最高位(左端)补“1”。
(2)反码表示法:一个负数的原码符号位不变,其余各位按位取反就是机器数的反码表示法。正数的反码与原码相同。
按位取反的意思是该位上是1的,就变成0,该位上是0的就变成1。即1=0,0=1
(3)补码表示法:
首先分析两个十进制数的运算:78-38=41,79+62=141
如果使用两位数的运算器,做79+62时,多余的100因为超出了运算器两位数的范围而自动丢弃,这样在做78-38的减法时,用79+62的加法同样可以得到正确结果。
模是批一个计量系统的测量范围,其大小以计量进位制的基数为底数,位数为指数的幂。如两位十进制数的测量范围是1——9,溢出量是100,模就是102=100,上述运算称为模运算,可以写作:
79+(-38)=79+62
(mod
100)
进一步写为
-38=62,此时就说
–38的补法(对模100而言)是62。计算机是一种有限字长的数字系统,因此它的运算都是有模运算,超出模的运算结果都将溢出。n位二进制的模是2n,
一个数的补码记作[x]补,设模是M,x是真值,则补码的定义如下:
例:设字长n=8位,x=-1011011B,求[x]补。
解:因为
n=8,所以模
M=28=100000000B,x<0,所以
[x]补=M+x=100000000B-1011011B=10100101B
注意:这个x的补码的最高位是“1”,表明它是一个负数。对于二进制数还有一种更加简单的方法由原码求出补码:
(1)正数的补码表示与原码相同;
(2)负数的补码是将原码符号位保持“1”之后,其余各位按位取反,末位再加1便得到补码,即取其原码的反码再加“1”:[x]补=[x]反+1。
下表列出
的8位二进制原码,反码和补码并将补码用十六进制表示。
真值
原码(B)
反码(B)
补码(B)
补码(H)
+127
0
111
1111
0
111
1111
0
111
1111
7F
+39
0
010
0111
0
010
0111
0
010
0111
27
+0
0
000
0000
0
000
0000
0
000
0000
00
-0
1
000
0000
1
111
1111
0
000
0000
00
-39
1
010
0111
1
101
1000
1
101
1001
D9
-127
1
111
1111
1
000
0000
1
000
0001
81
-128
无法表示
无法表示
1
000
0000
80
从上可看出,真值+0和-0的补码表示是一致的,但在原码和反码表示中具有不同形式。8位补码机器数可以表示-128,但不存在+128的补码与之对应,由此可知,8位二进制补码能表示数的范围是-128——+127。还要注意,不存在-128的8位原码和反码形式。

Ⅲ 二进制正,负数的原码,反码,补码三者之间是什么关系

以8位二进制为例,
正数的原码、反码、补码相同,
负数的反码为:除符号位外,原码各位取反,反码加1,得负数的反码.
下面就对于原码,反码,补码详细分析一下:
原码:将一个整数,转换成二进制,就是其原码。如单字节的5的原码为:0000
0101;-5的原码为1000
0101。
反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反。如单字节的5的反码为:0000
0101;-5的反码为1111
1010。
补码:正数的补码就是其原码;负数的反码+1就是补码。如单字节的5的补码为:0000
0101;-5的原码为1111
1011。
在计算机中,正数是直接用原码表示的,如单字节5,在计算机中就表示为:0000
0101。
负数用补码表示,如单字节-5,在计算机中表示为1111
1011。

Ⅳ 如何求一个正数或者负数的原码,反码,补码比如+5

正数的原码,反码,补码就是它的二进制数
负数原码是它的二进制数
反码是原码各位取反0取反是1,1取反是0
补码就是反码加1
如+5的原码,反码,补码都是1,101
而-5的原码是0,101
反码0,010
补码0,011
正号用1表示
负号用0表示

阅读全文

与正数负数源码反码补码相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:382
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163