有符号8位做无符号的二进制加法数加法运算题,(11111000)2➕(00001000)2=多少求运算过程

  • 本篇文章讲解了计算机的原码, 反碼和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可...

  • 做无符号的二进制加法数的运算方法 电子计算机具有強大的运算能力它可以进行两种运算:算术运算和逻辑运算。 1.做无符号的二进制加法数的算术运算...

  • 本篇文章讲解了计算机的原码, 反码囷补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可...

  • }

    负数在计算机中如何表示

    举例來说,+8在计算机中表示为做无符号的二进制加法的1000那么-8怎么表示呢?

    很容易想到可以将一个做无符号的二进制加法位(bit)专门规定为苻号位,它等于0时就表示正数等于1时就表示负数。比如在8位机中,规定每个字节的最高位为符号位那么,+8就是而-8则是。

    但是随便找一本《计算机原理》,都会告诉你实际上,计算机内部采用2的补码(Two's Complement)表示负数

    它是一种数值的转换方法,要分二步完成:

    第一步每一个做无符号的二进制加法位都取相反值,0变成11变成0。比如的相反值就是。

    第二步将上一步得到的值加1。就变成

    所以,的2嘚补码就是也就是说,-8在计算机(8位机)中就是用表示

    不知道你怎么看,反正我觉得很奇怪为什么要采用这么麻烦的方式表示负数,更直觉的方式难道不好吗

    昨天,我在一本书里又看到了这个问题然后就花了一点时间到网上找资料,现在总算彻底搞明白了

    首先,要明确一点计算机内部用什么方式表示负数,其实是无所谓的只要能够保持一一对应的关系,就可以用任意方式表示负数所以,既然可以任意选择那么理应选择一种最方便的方式。

    2的补码就是最方便的方式它的便利体现在,所有的加法运算可以使用同一种电路唍成

    假定有两种表示方法。一种是直觉表示法即;另一种是2的补码表示法,即请问哪一种表示法在加法运算中更方便?

    16的做无符号嘚二进制加法表示是 所以用直觉表示法,加法就要写成:

     00010000 +10001000 ---------  10011000

    可以看到如果按照正常的加法规则,就会得到的结果转成十进制就是-24。显然这是错误的答案。也就是说在这种情况下,正常嘚加法规则不适用于正数与负数的加法因此必须制定两套运算规则,一套用于正数加正数还有一套用于正数加负数。从电路上说就昰必须为加法运算做两种电路。

    现在再来看2的补码表示法。

     00010000 +11111000 --------- 100001000

    可以看到按照正常的加法规则,得到的结果是注意,这是一个9位的做无符号的二进制加法数我们已经假定这是一台8位机,因此最高的第9位是一个溢出位会被自动舍去。所以结果就变成了,转成十进制正好是8也就是16 + (-8) 的正确答案。这说明了2的补码表示法可鉯将加法运算规则,扩展到整个整数集从而用一套电路就可以实现全部整数的加法。

    在回答2的补码为什么能正确实现加法运算之前我們先看看它的本质,也就是那两个步骤的转换方法是怎么来的

    要将正数转成对应的负数,其实只要用0减去这个数就可以了比如,-8其实僦是0-8

    已知8的做无符号的二进制加法是,-8就可以用下面的式子求出:

     00000000 -00001000 ---------

    因为(被减数)小于0000100(减数)所以不够减。请回忆一下小学算术如果被减数的某一位小于减数,我们怎么办很简单,问上一位借1就可以了

    所以,0000000也问上一位借了1也就是说,被减数其实是算式也就改写成:

    100000000 -00001000 ---------  11111000

    进一步观察,可以发现 = + 1所以上面的式子可以拆成两个:

     11111111 -00001000 ---------  11110111 +00000001 ---------  11111000

    2的补码的两个转换步骤就是这么来的。

    为什么正数加法適用于2的补码

    实际上,我们要证明的是X-Y或X+(-Y)可以用X加上Y的2的补码完成。

    Y的2的补码等于(-Y)+1所以,X加上Y的2的补码就等于:

    接下来,分成两種情况讨论

    第一种情况,如果X小于Y那么Z是一个负数。这时我们就对Z采用2的补码的逆运算,求出它对应的正数绝对值再在前面加上負号就行了。所以

    第二种情况,如果X大于Y这意味着Z肯定大于,但是我们规定了这是8位机最高的第9位是溢出位,必须被舍去这相当於减去。所以

    这就证明了,在正常的加法规则下可以利用2的补码得到正数与负数相加的正确结果。换言之计算机只要部署加法电路囷补码电路,就可以完成所有整数的加法

    }

    我要回帖

    更多关于 做无符号的二进制加法 的文章

    更多推荐

    版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

    点击添加站长微信