早教吧作业答案频道 -->数学-->
、、有一个数字125、、看看我变的对不对、125的二进制是01111101最高位变成1然后取反10000010
题目详情
、、有一个数字 125 、、看看我变的对不对、
125的二进制是 01111101
最高位变成1 然后取反
10000010
125的二进制是 01111101
最高位变成1 然后取反
10000010
▼优质解答
答案和解析
首先,原码反码补码对于正数来说,都是同样的.
这个题目里,两个数都是负数.
对于计算机来说,做负数的加减法比较麻烦,硬件实现不方便,
所以引进了补码和反码表示法,直接用加法以方便计算机的计算.
刚刚我说过,正数原码反码补码表示相同,
那么算负数的时候怎么变成可以直接加起来呢?
先打个比方,按时间12个小时来算
现在的准确时间是4点
有一个表显示的是7点
要校准时间,我们可以将时针退7-4=3格,也可以向前拨12-3=9格
计算机做减法就可以转化成-3=+9
LZ也给了原码反码补码的定义,不过本人认为这些公式比较难记,
正数就不说了,教你算负数:符号位为1代表负数
原码:如果按LZ给的4位表示的话,3用二进制则为0011(对应权值分别为8421,因为3=2+1,所以8和4对应的位为0,2和1对应的为1.同理可以得到6二进制表示为0110)
那么-3的原码就将第一位符号位0改为1,即1011,-6为1110
反码:符号位不变,其他位求反(0变为1,1变为0)
-3的反码:1|011——>1|100,-6的反码1|110——>1|001
补码:反码尾数加1
-3的补码:1100尾数加1——>1|101,1001尾数加1——>1|010
求出了对应的补码,把两个数加起来最后得到LZ的结果是没有问题的.
但是为什么两个负数相加最后结果是正数呢
不知道LZ注意到没有,-3和-6的补码符号位都是1,它们加起来的时候势必要进位,便从1成为0了,成为正数,这叫溢出,因为你给的表示法是4位的,且最高位为符号位,等于说最高位的权值8不能参与数值运算,那么该4位的数值表示范围内,只有4、2、1这三个权值,能表示的最大值是7而已,就像我们刚才举的钟表例子,等过了12点,钟表又回到了1、2、3……
如果我们换种表示法:用5位,最高位是符号位,0表示正数,1表示负数.剩下的四位还是依旧对应权值8421,那么-3的原码为10011——>反码11100——>补码11101,-6原码——>10110——>反码11001——>补码11010
1|1101+1|1010=11|0111(注意这里的符号位产生了进位,也就为最高位的两个1)
再将11|0111变为原码11|1001,剔除符号位11表示负数外,1001按权值8421对应为8+1=9,这样我们就正确表示为-9了.
这个题目里,两个数都是负数.
对于计算机来说,做负数的加减法比较麻烦,硬件实现不方便,
所以引进了补码和反码表示法,直接用加法以方便计算机的计算.
刚刚我说过,正数原码反码补码表示相同,
那么算负数的时候怎么变成可以直接加起来呢?
先打个比方,按时间12个小时来算
现在的准确时间是4点
有一个表显示的是7点
要校准时间,我们可以将时针退7-4=3格,也可以向前拨12-3=9格
计算机做减法就可以转化成-3=+9
LZ也给了原码反码补码的定义,不过本人认为这些公式比较难记,
正数就不说了,教你算负数:符号位为1代表负数
原码:如果按LZ给的4位表示的话,3用二进制则为0011(对应权值分别为8421,因为3=2+1,所以8和4对应的位为0,2和1对应的为1.同理可以得到6二进制表示为0110)
那么-3的原码就将第一位符号位0改为1,即1011,-6为1110
反码:符号位不变,其他位求反(0变为1,1变为0)
-3的反码:1|011——>1|100,-6的反码1|110——>1|001
补码:反码尾数加1
-3的补码:1100尾数加1——>1|101,1001尾数加1——>1|010
求出了对应的补码,把两个数加起来最后得到LZ的结果是没有问题的.
但是为什么两个负数相加最后结果是正数呢
不知道LZ注意到没有,-3和-6的补码符号位都是1,它们加起来的时候势必要进位,便从1成为0了,成为正数,这叫溢出,因为你给的表示法是4位的,且最高位为符号位,等于说最高位的权值8不能参与数值运算,那么该4位的数值表示范围内,只有4、2、1这三个权值,能表示的最大值是7而已,就像我们刚才举的钟表例子,等过了12点,钟表又回到了1、2、3……
如果我们换种表示法:用5位,最高位是符号位,0表示正数,1表示负数.剩下的四位还是依旧对应权值8421,那么-3的原码为10011——>反码11100——>补码11101,-6原码——>10110——>反码11001——>补码11010
1|1101+1|1010=11|0111(注意这里的符号位产生了进位,也就为最高位的两个1)
再将11|0111变为原码11|1001,剔除符号位11表示负数外,1001按权值8421对应为8+1=9,这样我们就正确表示为-9了.
看了 、、有一个数字125、、看看...的网友还看了以下:
ASCII编码的准确描述是:用8位二进制表示,最右边的1位是0。() 2020-05-31 …
二进制:逢二进一,在101+1=110是怎么得来的,101是三位数,个位是1,十位是0百位101是 2020-06-06 …
页式虚拟存储管理采用位示图技术,设主存有16384块,采用32位的512个字作为位示图.若块号、字 2020-06-16 …
十进制位权一个十进制数110,其中百位上的1表示1个102,既100,十位的1表示1个101,即1 2020-06-17 …
近似数(1)0.00356(精确到万分位)≈0.0036(2)61.235(精确到个位)≈61(3 2020-07-19 …
火眼金睛识对错(对的打“√”,错的打“×”)。1.小数点左边第三位是千分位。[]2.最大的计数单位 2020-07-31 …
用四舍五入法按要求对0.060287分别取近似值,下列各项中错误的是()A.0.06(精确到百分位 2020-07-31 …
用四舍五入按要求对0.06019其中错误的是()A.0.1(精确到0.1)B.0.06(精确到千分 2020-07-31 …
填空(1)计算小数加减法时,要把小数点小数点对齐,也就是相同数位相同数位对齐.(2)0.54是由55 2020-11-18 …
火眼金睛识对错。(对的打“√”,错的打“×”)1.小数一定比整数小。[]2.0.023的计数单位是0 2020-11-23 …