用位运算实现除法

复习一下:

被除数 ÷ 除数 = 商...余数
  1. 累减
      最简单的就是不断地用被除数减去除数,直到被除数小于除数,此时减的次数就是商;

  2. 加权累减
      假设现在要计算A ÷ BAa位的二进制数,Bb位的二进制数:
      (1)将B左移a - b位,变成一个a位的二进制数B'(与A的位数一样);
      (2)如果A大于等于B',则令A = A - B',商累加2的(B'位数减去B位数)次方B'右移一位;如果A小于B'B'右移一位;
      (3)如果B'大于等于B,跳到(2);否则,计算结束,此时A即为余数;

另,结果要计算小数的话:
  要求几位小数,给余数乘以10的几次,除以除数,得出的商(高位的0不要丢)就是小数点后的结果;

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值