二进制减法怎么算

 我来答
岛上IT
2018-02-25 · TA获得超过197个赞
知道答主
回答量:50
采纳率:0%
帮助的人:4.2万
展开全部

06如何快速的将二进制转换成十进制

suanshu123
高粉答主

2018-01-08 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:3.3万
采纳率:73%
帮助的人:5806万
展开全部
1010-0111 (借1作2)
1010
- 0111
0011
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
进步小老头
2018-07-16
知道答主
回答量:5
采纳率:0%
帮助的人:4372
展开全部

你好

二进制相减的具体规则跟真值的编码方式有关系,如:原码,补码等。

现在假设两数为无符号整数且总是较大减去较小。(因为无符号数不能表示负数,所以不能小减大)

将减数逐位取反,末位加1,然后与被减数相加即可,不需要考虑借位的问题。

例1:

被减数:110000 减数:010111(与被减数对齐)

  • 减数取反(即0变成1,1变成0):101000

  • 末位加1:101001

  • 与被减数相加:

  • 110000

  • 101001

  • +

  • ----------

  • 1011001 (将超过被减数长度的部分丢弃)

  • 由于存在这样一个事实:两个非负数相减,其值不可能大于这两者。也就是长度不能超过被减数,故将最左边的1丢弃

    例2:被减数:11(十进制3),减数:10(十进制2);

    减数取反加1:01+1=10(又变回来了)

    相加:

  • 11

  • +10

  • -----

  • 101(舍去最左边的1既是正确答案 01)

  • 如果一眼看过去没有借位的情况,直接减即可。取反加1倒是麻烦了

    例3: 被减数:11001010(十进制 202),减数:00001001(十进制 9)

    减数取反加一:11110111

    相加:

  • 11001010

  • +11110111

  • ----------------

  • 111000001(舍去最左边的1 即是正确答案:11000001)

  • 以上。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式