zoukankan      html  css  js  c++  java
  • 运算方法和运算部件

    一.高级语言和机器指令中的运算

    1.C程序中涉及的运算

    涉及的运算有按位运算逻辑运算移位运算位扩展和位截断运算

    • 移位运算
      负数反码,移位后符号位不变,左移时,最高位丢失0,则结果出错;右移时,最低位丢失0,影响精度。
      负数补码,移位后符号位不变,左移时,最高位丢失0,则结果出错;右移时,最低位丢失1,影响精度。
    • 位扩展
      进行位扩展时,扩展后的数值应保持不变。
      扩展方式有:0扩展和符号扩展。0扩展用于无符号数,只要在短的无符号数前面添加足够的0即可。符号扩展用于补码表示的带符号整数,通过在短的带符号整数前添加足够多的符号位来扩展。

    2.MIPS指令中涉及的运算

    MIPS指令系统涉及的运算有按位逻辑运算、逻辑移位、算术移位、带符号整数的加减乘除、无符号整数加减乘除、带符号整数的符号扩展、无符号数的0扩展
    、单精度浮点数加减乘除、双精度浮点数加减乘除等。

    2.基本运算部件

    1,串行进位加法器

    • 串行进方式:n位加法器,X与Y逐位相加,位间进位串行传送。
    • 只有一个全加器,数据逐位串行送入加法器中进行运算。进位触发器用来寄存进位信号,以便参与下一次运算。
    • 行进位加法器速度慢的主要原因是进位按串行方式传递,高位进位依赖低位进位。
      2,并行进位加法器
      用n位全加器实现两个n位操作数各位同时相加,这种加法器称为并行加法器。并行加法器中全加器的个数与操作数的位数相同。并行加法器中全加器的位数与操作数的位数相同,可同时对操作数的各位相加。计算机内部大多采用两级或多级先行进位加法器
      3,带标志加法器

    3.定点数运算

    1,补码加减法

    • 运算表达式
    • 判断是否溢出
      2,原码加减运算
      比较两个操作数的符号,对加法实行“同号求和,异号求差”,对减法实行“异号求和,同号求差求和时,数值位相加,若最高位产生进位则结果溢出求差时,被加数数值位加上加数数值位的补码
      3,移码加减运算
      移码的和、差等于和、差的补码。
      4,原码乘法运算
      原码一位乘法
      (1)确定乘积的符号位。由两个乘数的符号异或得到。
      (2)计算乘积的数值位,乘积的数值部分分为两个乘数的数值部分之积。
      原码二位乘法
      原码两位乘是用两位来决定新的部分积的形成,形成4种状态
  • 相关阅读:
    行为型模式之 命令模式
    结构型模式之 代理模式
    oop编程思想
    2013应届毕业生各大IT公司待遇整理汇总篇(转)
    python定义class
    python——博客园首页信息提取与分析(转载有改动)
    深入浅出TCP/IP协议
    python基础之socket
    python基础
    c++stl之stack
  • 原文地址:https://www.cnblogs.com/wenwener/p/13762469.html
Copyright © 2011-2022 走看看