• 第四章运算方法与运算器4_2


    2019/03/21 08:11
    4.2定点数的乘法运算及实现
    1)原码的乘法及实现
    <1>首先的符号用Ps表示,如果相异则为1,否则反之,符号单独处理;
    <2>初始部分的积为0,根据乘数部分来,如果为1那么加上绝对值X,否则加上0;
    <3>然后是右移最后把部分积和右移后得到的数结合,符号位看之前的Ps;
    <4>最后加完还是要右移;
    2)补码的乘法及实现
    最后一次不右移
    补码校正法:
    <1>首先把X、Y都化成补码的形式,然后观察Y的正负,分两种情况。
    <2>Y>0,[X]补(0.Y1Y2....)
    <3>Y<0,[X]补
    (0.Y1Y2....)+[-X]补,这里是在最后的时候加上[-X]补;
    <4>保存零时累加时,采用两位符号位,且部分积右移时,采用补码的移位规则。
    <5>在整个补码乘法中,符号位不是再像原码那样单独处理,而是一起参与运算。
    补码Booth算法(比较算法):
    <1>运算形式和校正法是一样的;首先把补码[-X]补、[X]补、[Y]补写出来;
    <2>在Y中除了符号位也要上去参与比较,还要在末尾加上一个0;
    <3>然后开始比较,如果相同的比如是11或是00,加0右移一位,如果是从后往前减大于0,那么加上[X]补,再右移一位;如果是小于0,那么加上[-X]补,再右移一位。
    3)原码的除法及实现
    左移时采用补码的移位规则,最高符号位不变,最低位补0;且左移的时候包括符号位
    原码恢复余数算法:
    <1>这里首先有几个比较关键的,一个是Rs(余数的符号位)=Xs,还有就是Qs(商的符号位)为Y、X的结果同号为正0,异号为负1;
    <2>开始操作,初始的余数为|X|,且都采用双符号位的办法,商初始都为0,每次都是通过加上[-|Y|]补,如果结果位为符号1,那么不够减,商上0,加上|Y|,恢复,余数左移;如果结果位是0,那么够减商1,余数左移,继续操作,最后一次不左移,但是如果商0,要加上|Y|,恢复余数。
    <3>若为定点小数,余数则为计算结果右移n(数值的位数)位的结果;
    原码不恢复余数算法(加减交替算法):
    <1>其实操作跟上面的方法一致的,但是区别在于,先直接减|Y|,即加上[-|Y|]补,然后如果符号位为0,够减商1,部分余数左移,然后加上[-|Y|]补来求下一部分的余数;如果不够减商0,部分余数左移,加上|Y|来求下一部分余数。
    4)补码的除法及实现:
    补码不恢复余数算法
    先把补码的形式都化出来。
    方法一
    <1>先判断商符,异号为负即为1,同号为正即为0
    <2>然后再是根据符号来进行第一步操作,同号的话第一次操作就是[X]补减法[-Y]补,然后再是余数补码和[Y]补码同号就商1,左移一位再加上[-Y]补,异号就上0,左移一位,再加法[Y]补;如果是异号的话,第一次操作就是加法[Y]补,然后根据余数与Y补码的符号位来判断,同号就是商1,再减法[-Y]补,异号就商0,再加法[Y]补。
    <3>最后一位就是恒置1。
    方法二
    <1>直接是就是把[X]补当成余数来处理,同号商1,左移一位,再减去即加上[-Y]补;
    异号商0,左移一位,加上[Y]补;
    <2>最后一位恒置1。
    <3>最后完成时记得,把符号位取反。

    作者:睿晞
    身处这个阶段的时候,一定要好好珍惜,这是我们唯一能做的,求学,钻研,为人,处事,交友……无一不是如此。
    劝君莫惜金缕衣,劝君惜取少年时。花开堪折直须折,莫待无花空折枝。
    曾有一个业界大牛说过这样一段话,送给大家:   “华人在计算机视觉领域的研究水平越来越高,这是非常振奋人心的事。我们中国错过了工业革命,错过了电气革命,信息革命也只是跟随状态。但人工智能的革命,我们跟世界上的领先国家是并肩往前跑的。能身处这个时代浪潮之中,做一番伟大的事业,经常激动的夜不能寐。”
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    String和StringBuilder和StringBuffer
    多态
    组件
    反向代理
    基础知识
    reflection
    v-model 与 v-bind:model
    tomcat端口占用问题
    socket
    简要概括内存机制
  • 原文地址:https://www.cnblogs.com/tsruixi/p/10589492.html
Copyright © 2020-2023  润新知