浮点数/浮点数算术
外观
< 浮点数
如果我们不能对浮点数进行运算,它们将毫无用处。幸运的是,存在执行基本算术运算(加法、减法、乘法、除法)以及其他运算(如指数、平方根和超越函数)的算法。本页将介绍一些基本的算术运算,更高级的算法将留待后面的页面介绍。
让我们将以下两个数字相乘
变量 符号 指数 小数 X 0 1001 010 Y 0 0111 110
以下是步骤
- 首先,将这两个表示形式转换为科学记数法。因此,我们显式地表示隐藏的 1。
- 在本例中,X 为 1.01 X 22,Y 为 1.11 X 20。
- 令 x 为 X 的指数。令 y 为 Y 的指数。结果指数(称为 z)是两个指数的总和。在下一步之后可能需要调整 z。
- 目前,结果指数为 2 + 0 = 2
- 将 X 的尾数乘以 Y 的尾数。将此结果称为 m。
- 将 1.01 乘以 1.11 结果为 10.0011
- 如果 m 不在基点左侧保留一个 1,则调整基点以使其保留一个 1,并调整指数 z 以进行补偿。
- 现在,我们必须将 10.0011 重新规范化为 1.00011,并将指数增加 1 到 3
- 将符号位相加,模 2,以获得结果乘法的符号。
- 符号位为 0 + 0 = 0。
- 转换回一个字节的浮点表示,必要时截断位。
- 我们需要将 1.00011 x 23 截断为 1.000 x 23 并转换。
Product sign exponent fraction X * Y 0 1010 000