计算机中二进制减法的问题是什么_二进制的减法运算例子

计算机中二进制减法的问题是什么_二进制的减法运算例子有一道作业题,要求完成下列二进制数的减法运算:   00001100-11110111这道题分析说先把减数化成补码的形式,也就是要把11110111化成补码。如果把一个二进制数化成补码,先在最高位取1,再把各位取反加1。但是上面那个题它的第一位已经是1了,怎么化呀??悬赏分:0-解决时间:2010-3-1221:21;—————————–

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

有一道作业题,要求完成下列二进制数的减法运算:
    0000 1100 – 1111 0111
这道题分析说先把减数化成补码的形式,也就是要把1111 0111化成补码。
如果把一个二进制数化成补码,先在最高位取1,再把各位取反加1。
但是上面那个题它的第一位已经是1了,怎么化呀??
悬赏分:0 – 解决时间:2010-3-12 21:21
;——————————————————–
最佳答案:

如果人工计算,应该按照减法进行,即:

    0000 1100 – 1111 0111 = 0001 0101

但是,CPU中,只有加法器,并没有减法器,遇到减法,CPU就要将减数全部的位,都求反加一,再与被减数相加,就是:

    0000 1100 + 0000 1001 = 0001 0101

和人工计算的结果相同。

.

注意:这里讲的“减数全部的位,都求反加一”,并不是常说的求“补码”,这是在CPU中自动进行的。
无论这个数字,原来是不是补码,只要是做减法,CPU都要自动转换,包括最高位。
上述说法,可以参考《计算机组成原理》。

.

一般常说的求“补码”,是由人工进行的,不是在 CPU 内部进行的。
规则是:对于负数,符号位为1,不要变化,仅仅对后面的数值位,由原码求反加一。

;——————————————————–
回答者: 做而论道 – 十二级   2010-3-11 15:27
提问者对于答案的评价:谢谢
原题网址:http://zhidao.baidu.com/question/141358990.html
;——————————————————–

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189881.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号