关于一个计算机器组成原理的题

来源:百度知道 编辑:UC知道 时间:2024/07/04 19:27:54
对与一个二进制补码1000 0000 他它变换为真值 就是符号位不变 减1 再求反为1000 0000 这个真值应该是-0 但是为什么正确答案是-128呢??
希望专业人士解答疑惑!!!!是求真值的过程有借位造成的吗??

对于二进制补码来说,你应该认识它产生的必要性和优越性。
先来说说原码吧,因为对于有符号数,原码同样也要拿出一位来表示符号,也就是第一位,这样表示方便,而且直观。但另外一个问题出现了,那就是原码对于人来说直观,但对于机器来说运算上就不方便了,所以此时就迫切需求一种进制码的表示,方便常用的计算。于是针对不同的运算要求,先后产生了多种编码形式。而补码对于有符号数的算术运算上突出了自身的优点。
第一、把减法转化为加法来求解,简化了硬件电路。
第二、用补码表示的0是同一种表示形式。
当然以上这是比较直观的优点,这样你的问题就转化为补码的表示机制问题了。
因为总的只有8位,用了一位符号位,还有7位,这样可以表示正数128个,负数也是128个。这里就把0都归进去了。又因为有+0和-0之分,而补码的0是统一的。只用了+0的表示:00000000而对于-0作为-128来算即因为多了一个表示的数,也是运算当中的必要的数。所以这种8位表示的数取值范围是-128~127。

负数的原码与反码除符号位不变其他都起反,在变补码时加一才是,,那反过来求原码就是那个结果了。。