组成原理(浮点运算)
移位乘法:
x = 0.1011
y = 0.0101
为方便描述,令 x的长度n = 4,计算次数定义为i;
计算过程:
A | Q
0.0000 | 0101
+ 0.1011 |
----------------------------------------
0.1011 |
>> 1 0.0101 | 1010 (方便描述我们令 Q = 0.01011010)
+ 0.0000 |
----------------------------------------
0.0101 |
>> 1 0.0010 | 1101
+ 0.1011 |
-----------------------------------------
0.1101 |
>> 1 0.0110 | 1110
+ 0.0000 |
------------------------------------------
0.0110 |
>> 1 0.0010 | 0111
所以得出答案0.0010
说白了就是
X* = 0; i = 0;
X* = X* >> 1 + X Q%10 == 1; i < 3;
X* = X* >> 1 + 0; Q%10 == 0; i < 3;
ans = X* >> 1; i == 4;
浮点加减运算:
X = 27 * 29/32 Y = 25 * 5/8
11101 * 2-5 *27 101 * 2-3 * 25
= 0.11101 * 27 = 0.101 * 25
[X]补 = 00 111 011101B [Y]补 = 00 101 00 01010B
对阶:
小阶对齐大阶 101+010 = 111;
所以 尾数后移3位所以 [Y]补 = 00 101 00 00101B
00 11101
00 00101
---------------------------
01 00010
>> 00 10001 => 00,111
+ 1
----------------------
01, 000
所以产生溢出