由补码求原码如何求?
一、由补码求原码如何求?
我帮你解决这个问题,作为交换,如果以后有陌生人问你这么简单的问题,请帮他耐心解答。
一. 先从理论上认识一下原码,补码,反码。 (
你问这个问题,我就当你有相关知识基本概念,大致讲讲)
1. 二进制有便于模拟电路或与非、便于计算机设计、抗干扰性强的好处(我当年的机组书上大概是这个意思)——于是诞生了原码;
2.原码无法解决正负相加等于0的问题(你可以自己找个正负树原码加一下)——于是引入了反码;
3.原码,反码有两个0(正负0),为了解决这个问题引入了补码(补码的0表示是唯一的)
二. 十进制化为原码(
我以正负47举例)
这就求出了47的8位原码,当然你也可以直接拼凑出来,我这样用算的思路是便于你以后写程序的时候便于设计算法。
1.原码
最高位为符号位:+47的16位原码:0000 0000 0010 1111 ; -47的16位原码:1000 0000 0010 1111
2.反码
正数和原码相同。负数在原码
的基础上除符号位为其余各位取反:+47的16位反码:0000 0000 0010 1111 ; -47的16位反码:1111 1111 1101 0000
3.补码
正数和原码、反码相同。负数在反码
的基础上最低位加1(二进制算法)
+47的16位补码:0000 0000 0010 1111 ; -47的16位补码:1111 1111 1101 0001
计算方法如下:
其余的自己算吧,还有不懂的可以私我,最好自己照着思路推算出其他的。
二、负数的补码怎么求?
就比如-9补码是11110111。9的源码为00001001,如果是负数的话,补码为最高位置1,其余取反也就是11110110,然后在最低位加1即可即11110111
三、3的补码怎么求?
先求3的二进制真值,是11。
如果是八位二进制编码,最高位是符号位,正数的符号位是0,真值放右侧,中间用0补齐,得到其原码是00000011。
正数的原码、反码、补码都一样,因此3的反码、补码都是00000011。
四、补码1000怎么求原码,原码1000怎么求补码?
二进制数1000为负数(因为第一位是1),负数的补码在第一位不变的情况下先将其他位取反(即1变0,0变1),此时为1111;再加1(即1111+0001),此时为10000。
原码1000的补码为10000。
补码1000的原码为10000。
原码求补码为取反加一,补码求原码为逆过程先减一后取反;对于二进制来说先减一后取反和先取反后加一结果是一样的,所以两者都是取反加一。
五、求10011001的补码怎么求?急?
最高位表示符号,不需要取反。其他所有位都取反并+1即可。 因为你说的1100110是负数,最高位应该是1,但是只有7位数值,而一个字节的数据应该有8位,所以认为原码是11100110 取反: 10011001 加1: 10011010 结果补码是10011010
六、负10的补码怎么求?
答:应该这样进行:
如果用八位二进制数表示原码和补码,-10的原码是10001010,-10的补码是11110110。计算规则和方法:
(1)原码是由符号位和数的绝对值的二进制组成。最高位表示符号位,1表示负,0表示正。10转换为二进制是1010,因此-10的原码就是10001010。
(2)求反码。负数的反码等于其原码除符号位外,其余各位求反。因此-10的反码是11110101。
(3)求补码。负数的补码等于其反码末位加1。因此-10的补码等于11110101+1=11110110。
我这样给你讲解,不知是否对你有所启示?谢谢。
七、负数的补码怎么求的?
负数的补码可以通过以下步骤求得:
1、将负数转换成对应的二进制表示形式。
2、对二进制数取反(0 变成 1,1 变成 0)。
3、将取反后的二进制数加 1。
例如,要求 -7 的补码,先将 -7 转换成二进制表示形式:
-7 = 1001 (最高位为符号位,表示负数)
对二进制数取反:
1001 -> 0110
然后将取反后的二进制数加 1:
0110 + 1 = 0111
因此,-7 的补码为 0111。
补码在计算机中被广泛使用,特别是在进行加法和减法运算时。
八、4的原码补码怎么求?
+4转化为二进制100,正号在机器码中用0表示,又正数原码反码补码相同,所以为0100
九、71的原码反码补码怎么求?
解:首位数字表示正负不做变(1为负数,0为正数)反码:1110010(正数反码等于原数,题中为负数,则除首位数对应取反)补码:1110011(得出反码数基础上末位加一)原码:0110011(补码符号位第一位数字取反)
反码为数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。
补码为一种用二进制表示有号数的方法,也是一种将数字的正负号变号的方式。
原码(又叫增码)为符号位取反的补码,一般用指数的移码减去1来做浮点数的阶码,引入的目的
是为了保证浮点数的机器零为全0。
扩展资料
计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理 。
十、10的补码是怎么求的?
10的补码分为:
1、如果是十进制数,10的8位二进制补码是00001010,-10的8位二进制补码是11110110;
2、如果是二进制数,10的8位二进制补码是00000010,-10的8位二进制补码是11111110。
计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。