计算机的算术运算
乘法
高位HI,低位LO
Instructions
mult rs, rt / multu rs, rt 64-bit product in HI/LO
mfhi rd / mflo rd Move from HI/LO to rd,Can test HI value to see if product overflows 32 bits
mul rd, rs, rt Least-significant 32 bits of product –> rd
除法
浮点运算
数值表示
尾数精度=尾数位数+1单精度规格化数:阶码取值范围在1~254之间;尾数可以取任何值。
对于float型,特殊的值:
符号位 | 阶码/指数 | 尾数 | 数值 |
---|---|---|---|
+/- | 全0 | 全0 | 0 |
+/- | 全1(=255) | 全0 | +无穷/-无穷 |
+/- | 全0 | 非0 | 非规格化数 |
+/- | 全1(=255) | 非0 | 非数NaN |
移码
精度范围
高级语言中可以定义多种数据类型,因此需要存取不同长度操作数的数据传输指令。
对阶的时候,需要小阶向大阶看齐,因为大阶如果向小阶看齐,那么就要左移,不符号规格化的要求。
浮点数乘法运算结果规格化:不需要左移,最多需要一次右移;除法:不需要右移,最多需要一次左移。正常的运算过程下,若尾数为0,则结果的阶码也置为0.
浮点加法不满足结合律