zoukankan      html  css  js  c++  java
  • 原码一位乘法与补码一位乘法

    逻辑移位与算术移位

    • 逻辑移位:不管逻辑左移还是逻辑右移缺位补0
    • 算术移位:1.无符号型值,和逻辑移位相同 2.有符号型值,根据符号位补缺位(和符号位相同)

    在下面的原码一位乘和补码一位乘都遵循以下规则:

    • 1.多余进位舍去
    • 2.一直执行到乘数被用完(被移除完)
    • 3.原码最后需要一位,补码不需要移位
    • 4.原码补码一位乘取值都不去原乘数的数

    原码一位乘法

    定义:

    符号位单独参加运算,数据位取绝对值,每次将一位乘数对应的部分积与原部分积的累加和进行相加,并右移一位,直到乘数的所有位被用完。

    举例

    X=0.1101,Y=-0.1011,求XY

    1.设置部分积,乘数与被乘数的绝对值

    A=00.0000,B=|X|=00.1101,C=.1011

    2.若判断位(C的最后一位)为0,则部分积+0000;若为1,部分积+B

     

    接着我们对符号的确定,是通过对被乘数与乘数的符号位进行异或判断的。

    XY=(0⊕1).10001111=1.10001111

    补码一位乘

    补码一位乘在操作和判断位上和原码一位乘有区别(原码一位乘为一位,补码一位乘为两位)

    例题:X=-01101,Y=-01011,求[XY]=?

    做这道我们首先需要了解,两位判断位对应的操作

    判断位 操作
    00 右移一位
    01 +B,再右移一位
    10 -B,再右移一位
    11 右移一位

     B补,-B补,C分别对应 [X]补,[-X]补,[Y]补

    所以我们直接可以得到,XY=0010001111

  • 相关阅读:
    ActiveMQ-在Centos7下安装和安全配置
    Servlet基础知识点
    Filter的执行顺序
    Dubbo-使用Maven构建Dubbo服务的可执行jar包
    Dubbo-Centos7管控台安装
    Spring 小知识点
    Zookeeper+ActiveMQ集群搭建
    Zookeeper在Centos7上搭建单节点应用
    SpringMVC+AJAX+JSON
    RocketMQ-Filer
  • 原文地址:https://www.cnblogs.com/Mayfly-nymph/p/11102136.html
Copyright © 2011-2022 走看看