zoukankan      html  css  js  c++  java
  • 位运算乘除法

    1、无符号除法
        I.定点除法:对于n位dividend和divisor
          1)扩充为2n-1位,但是扩充方向不一致,被除数是:000...&dividend;而除数是:divisor&000...
          2)如果dividend>=divisor,则dividend-=divisor;quotient置‘1’,然后divisor向右移动1位;否则,quotient置‘0’,divisor向右移动一位
          3)重复2)共计n次,则所得的quotient依次为高位---低位,最终的dividend即为remainder
    2、有符号除法
        首先判断符号位,然后转换为无符号数,按照上述无符号除法I进行计算
    3、无符号和无符号乘法
        I.booth乘法:对于n位的multiplicand和multiplier
          1)首先扩充p数组为2n+1位(称为p空间),最后一位为虚位(被记为p[-1],在数组中下标-1是不合法的,只是为了说明这是辅助位),扩充方式为:p[2n-1..0]&p[-1]=000...&multipilier&0;
          2)如果p[0..-1]为“00”或者“11”,则不进行算术运算,仅仅将p向右移动一位;
           如果p[0..-1]为“01”,则p[2n-1..n]+=multiplicand,然后p向右移动一位;
           如果p[0..-1]为“10”,则p[2n-1..n]-=multiplicand,然后p向右移动一位。
          3)重复2)共计n次(此处重复次数忘了,应该是上下浮动一次,可以实验一下)
          4)最终p[2n-1..0]即为所求

  • 相关阅读:
    PDF文档生成缩略图
    zTree数据回显
    window.showModalDialog基础
    Java获取两个时间段内的所有日期
    CSS设置超出表格的内容用省略号显示
    Ajax提交form表单
    普通java类在Tomcat启动时获取ServletContext
    mysql中sql优化和合理使用索引
    mysql数据类型详解系列
    如何干净的清除slave同步信息
  • 原文地址:https://www.cnblogs.com/dlx1996/p/5825343.html
Copyright © 2011-2022 走看看