[计算机组成原理] 定点数的四则运算

定点数的移位运算

算数移位

  码值 填补代码
正数 原码、补码、反码 0
负数 原码 0
补码 左移补0
右移补1
反码 1

 

  • 负数的原码数值部分与真值相同,故在移位时只要使符号位不变,其余空位补0。
  • 负数的反码各位除符号位外与负数的原码相反,故移位之后所添加的代码也应与原码相反,即补1。

逻辑移位

  • 逻辑移位将操作数当做无符号数看待,移位规则:逻辑左移,高位丢掉,低位补0;逻辑右移,低位丢掉,高位补0。

定点数加减法

原码定点数加减法

加法规则:先判断符号位,如果相同,绝对值相加,结果符号位不变;若不同,则做减法,绝对值大的减去绝对值小的,符号位是绝对值大的。

减法规则:将减数符号位取反,然后将被减数与符号位取反后的减数进行原码加法运算。就是减去一个数相当于加上这个数的相反数。

补码定点数加减法

  • 参与运算的两个数都用补码表示。
  • 按二进制运算规则运算,逢二进一。
  • 符号位与数值位按照同样规则一起参与运算,符号位产生的进位要丢掉,结果的符号位由运算得出。
  • 若做加法,则两数的补码直接相加;若做减法,被减数的补码和减数的机器负数的补码相加。

[计算机组成原理] 定点数的四则运算_第1张图片

溢出的判断

溢出是指运算结果超过了数的表示范围,仅当两个符号相同的数相加,或者两个负号相异的数相减才可能产生溢出,如两个正数相加,结果的负号位为1;一个负数减去一个正数,符号位为0,这些都溢出了,运算结果是错误的。

检测溢出有三种方式:

  • 一位符号位:两个数符号相同,结果又与原操作数符号不同,则结果溢出。
  • 双符号位:双符号位不同则溢出,双符号位相同则不溢出。
  • 符号位和最高数值位的进位:如果符号位和最高数值位都有进位或者都没有进位,则不溢出,否则溢出。

乘法运算

[计算机组成原理] 定点数的四则运算_第2张图片

[计算机组成原理] 定点数的四则运算_第3张图片

[计算机组成原理] 定点数的四则运算_第4张图片

[计算机组成原理] 定点数的四则运算_第5张图片

[计算机组成原理] 定点数的四则运算_第6张图片

[计算机组成原理] 定点数的四则运算_第7张图片

[计算机组成原理] 定点数的四则运算_第8张图片

[计算机组成原理] 定点数的四则运算_第9张图片

[计算机组成原理] 定点数的四则运算_第10张图片

[计算机组成原理] 定点数的四则运算_第11张图片

[计算机组成原理] 定点数的四则运算_第12张图片

[计算机组成原理] 定点数的四则运算_第13张图片

[计算机组成原理] 定点数的四则运算_第14张图片

[计算机组成原理] 定点数的四则运算_第15张图片

[计算机组成原理] 定点数的四则运算_第16张图片

除法运算

[计算机组成原理] 定点数的四则运算_第17张图片

[计算机组成原理] 定点数的四则运算_第18张图片

[计算机组成原理] 定点数的四则运算_第19张图片

[计算机组成原理] 定点数的四则运算_第20张图片

[计算机组成原理] 定点数的四则运算_第21张图片

[计算机组成原理] 定点数的四则运算_第22张图片

[计算机组成原理] 定点数的四则运算_第23张图片

[计算机组成原理] 定点数的四则运算_第24张图片

[计算机组成原理] 定点数的四则运算_第25张图片

[计算机组成原理] 定点数的四则运算_第26张图片

[计算机组成原理] 定点数的四则运算_第27张图片

[计算机组成原理] 定点数的四则运算_第28张图片

[计算机组成原理] 定点数的四则运算_第29张图片

[计算机组成原理] 定点数的四则运算_第30张图片

[计算机组成原理] 定点数的四则运算_第31张图片

[计算机组成原理] 定点数的四则运算_第32张图片

[计算机组成原理] 定点数的四则运算_第33张图片

 

你可能感兴趣的:(计算机组成原理)