zoukankan      html  css  js  c++  java
  • Pharmaceutical的同学们都看过来,关于补码运算的复习相关内容

    虽然是全英文的课程,这次总结内容不用英文了。

    一般在计算机原理中,对两个操作数进行运算会使用C作为进位的标志位,而V作为溢出的标志位。

    一般我们学完计算机原理,都知道正数的原码反码补码都一样,而问题都在负数上。负数的反码是原码的除去符号位之外各个位上取反,而负数补码则是除去符号位之外对原码各个位取反再加1。减去一个数等于加上对应的补码。

    而溢出情况的判断可使用两种方法:

    1 单符号位表示法

    两相同符号数相加,结果符号(符号位有进位将1丢掉)与被加数相同,否则为溢出

    2 双符号位表示法

    00表示运算结果为正数;
    01表示运算结果正溢出;
    10表示运算结果负溢出;
    11表示运算结果为负数。

    描述了一堆抽象的东西,不如举例。-3加上-4,如下:

       1111  1101
    + 1111  1100
    -------------------------------
      11111 1001(补码形式)

    再变成原码,即-7

    不知道期末是否会考补码的乘法和除法。不管怎样,这里列一下补码乘除法方法:

    补码乘法:

    x*y = -(-x*y)

    举例-3,-9
    101 * 011 = -(011 * 011) = -(01001) = 10111

    或者直接让符号位参与运算:

    补码除法

    第一步:被除数如果和除数同号,则被除数减去除数;如果异号则加上除数;

    第n步(n大于1):余数和除数同号,商1,余数左移一位减去除数;若异号,则商0,余数左移一位加上除数。

    祝大家考试顺利取得好成绩

  • 相关阅读:
    Hdu5093 Battle ships 二分图
    Hdu 4081 最小生成树
    POJ1201 Intervals差分约束系统(最短路)
    poj1222 EXTENDED LIGHTS OUT 高斯消元||枚举
    Gym 100814C Connecting Graph 并查集+LCA
    Fzu2109 Mountain Number 数位dp
    poj 2774 Long Long Message 后缀数组基础题
    Uva12206 Stammering Aliens 后缀数组&&Hash
    hdu 3518 Boring counting 后缀数组基础题
    数据结构复习之开题篇(持续更新)
  • 原文地址:https://www.cnblogs.com/ubiwind/p/7986765.html
Copyright © 2011-2022 走看看