b2c信息网

您现在的位置是:首页 > 前天新闻 > 正文

前天新闻

为什么二进制补码等于源码(补码必须是二进制码)

hacker2022-06-11 05:35:26前天新闻52
本文目录一览:1、电脑中原码和补码是什么关系?

本文目录一览:

电脑中原码和补码是什么关系?

原码,反码,补码是机器存储一个具体数字的编码方式。原码跟补码之间的关系是:正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了),然后最低位加1。

在计算机系统中,数值一律用补码来表示和存储。使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。

原码不能直接参加运算,可能会出错。例如数学上,1+(-1)=0,而在二进制中00000001+

10000001=10000010,换算成十进制为-2。

扩展资料

原码是有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。一个字长为n的机器数能表示不同的数字的个数是固定的2^n个,n=8时2^n=256;

用来表示有符号数,数的范围就是 -2^(n-1) ~ 2^(n-1)-1,n=8时,这个范围就是 -128 ~ +127。但是在不需要考虑数的正负时,就不需要用一位来表示符号位,n位机器数全部用来表示是数值,这时表示数的范围就是0~2^n-1,n=8时这个范围就是0~255.没有符号位的数,称为无符号数。

参考资料来源:百度百科-原码

参考资料来源:百度百科-补码

原码与补码的转换

1、首先要知道,换算规则:原码转换为反码:符号位不变,数值位分别“按位取反” 。

2、接着反码转换为原码也是一样,但规则却有不同之处:符号位不变,数值位分别“按位取反”。

3、然后就是,原码转换为补码的规则:符号位不变,数值位按位取反,末位再加1。

4、最后补码转换为原码:符号位不变,数值位按位取反,末位再加1,即补码的补码等于原码。

5、而求补(变补)的换算规则与之前有所差别:符号位和数值位都取反,末位再加1。

补码如何变成原码

已知一个数的补码,求原码的操作分两种情况:

(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。

(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。

例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为   “1”;其余7位1111001取反后为0000110;再加1,所以是10000111。

扩展资料:

总结:

已知一个数的补码,求原码的操作其实就是对该补码再求补码。

补码转换为原码:符号位不变,数值位按位取反,末位再加1。即补码的补码等于原码。

正整数的原码、反码和补码是一样的,即看到符号位(第一位)是0,就可以照着写出其他两种码。所以已知正数的补码,求其原码,两个数是一样的。

参考资料:百度百科——补码

为什么 补码的补码是原码

 这是针对带符号位的二进制数。

正数的补码和原码是一样的,所以正数的补码的补码都是一样的。如果是负数的话,注意第一个数字表示符号,1表示负值,0表示正值,举个例子:(-2)它的源码是10000010它的补码是反码加1,即(反码)11111101+1=11111110(这是它的补码),补码的补码是 (补码的反码)10000001+1=10000010(-2)所以,一个二进制数补码的补码就是其原码。

一个二进制数补码的补码就是其原码为啥啊!

正数的原码、补码都一样,所以一个二进制数补码的补码就是其原码。

在计算机内,定点数有3种表示法:原码、反码和补码

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

反码:表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

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

扩展资料:

补码可以简化计算机的设计。

对于人脑而言,做加减题时,第一反应就是根据符号位,来选择对真值区域的加减。但是计算机而言,像加减乘除这类最最基础也是应用得最频繁的基本运算,在物理逻辑的设计上一定要设计的尽量简单。

如果让计算机也先判断符号位再分别做加或者减的运算的话,会使得计算机的电路设计变得较为复杂。人类发明了将符号位也参与进运算的方法来。对于计算机而言,不管是加法还是减法,都统一用加法来做运算,可以使得计算机的设计变得更加的简单。

参考资料来源:百度百科-补码

二进制补码是什么意思?

二进制补码简介:

计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,为了能方便的与二进制转换,就使用了十六进制(2 4)和八进制1.数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的补码了。

补码的设计目的:

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

⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计 所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码。

小数和分数的补码:

1.十进制分数补码可以先将分子和分母分别表示成二进制数,然后计算出二进制小数,再按下面第三步的方法将求出小数的补码形式。

37/64=100101B/2^6=0.100101B

-51/128=110011B/2^7=0.0110011B

2.十进制小数的补码也应该先将其转换成二进制小数,再按下面第三步的方法将求出小数的补码形式。

0.375=0.011B

0.5625=0.1001B

3.将二进制小数对应的补码求出

[37/64]补码=[0.100101B]补码=0.1001010B

[-51/128]补码=[0.0110011B]补码=1.1001101B

[0.375]补码=[0.011B]补码=0.0110000B

[0.5625]补码=[0.1001B]补码=0.1001000B

发表评论

评论列表

  • 忿咬掩吻(2022-06-11 14:54:45)回复取消回复

    求补(变补)的换算规则与之前有所差别:符号位和数值位都取反,末位再加1。补码如何变成原码已知一个数的补码,求原码的操作分两种情况:(1)如果补码的符号位为“0”,表示是一

  • 青迟淤浪(2022-06-11 11:40:12)回复取消回复

    就是对该补码再求补码。补码转换为原码:符号位不变,数值位按位取反,末位再加1。即补码的补码等于原码。正整数的原码、反码和补码是一样的,即看到符号位(第一位)是0,就可以照着写出

  • 北槐戏侃(2022-06-11 14:55:13)回复取消回复

    如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。例如,已知一个补码为11111001,则原码是1000011