zoukankan      html  css  js  c++  java
  • 定点整数的加减法

    简述

    因为定点数一般用补码表示,我们对于原码的计算复杂,因为操作数取绝对值运算,实际操作并不仅仅取决于操作码,还与操作数的正负有关,并且可能对运算结果进行修正。因此我们下面主要讨论补码的加减运算方法。

    定义

    两个操作数都使用补码表示,连同符号位一起运算,结果也使用补码表示。

    基本关系

        (X+Y)补=X补+Y补

        (X-Y)补=X补+(-Y补)

    运算规则

    首先我们在下面的计算过程中,将下面几点作为运算规则

    1.对于定点整数运算,取mod2n+1的模(n表示不包括符号位的数值);对于定点小数,取mod2

    直接举例

    (1)若X=+10010,Y=-10101,求[X+Y]

    1.分别求X,Y的补码

    [X]=010010,[Y]=101011

    2.代入公式计算

    [X+Y]=[X]+[Y]=010010+101011=111101

    3.取模运算(取mod25+1

    得到[X+Y]=111101

    【补充】:

    如果这道题是要求计算X+Y的值,此时我们有了[X+Y],我们只需要对得到的值再次求补就行

    X+Y=100011=-00011

    (2)已知X=+10101,Y=+10010,求(X-Y)补

    这种情况我们需要代入的公式是(X-Y)补=X补+(-Y补),因此我们不管要计算Y补,也要计算(-y)补

    [X]=010101,[Y]=010010,[-Y]=101110(连同符号位一起变反加一,变补)

    [X+Y]=[X]+[-Y]=010101+101110=1000011

    取模预算丢掉最高位1,得到[X-Y]=000011=+00011

    同样要求X-Y,也是对结果求补等于+00011

  • 相关阅读:
    使用Charles对iPhone进行Http(s)请求拦截(抓包)
    pip 安装 和 卸载 django
    python2.7.5 安装pip
    (Git 学习)Git SSH Key 创建步骤
    git学习四:eclipse使用git提交项目
    我们为什么要使用List和Set(List,Set详解)
    List、Set、Map的区别
    type=hidden
    测试业务分析
    USACO 3.2 kimbits DP
  • 原文地址:https://www.cnblogs.com/Mayfly-nymph/p/11101590.html
Copyright © 2011-2022 走看看