[英]IEEE 754 multiplication small numbers
我想将这两个数字相乘:
0010001000000000000000000000000 (1.73472347598e-18)
和
00010101000000000000000000000001 (-2.997414069111348324895269018E-38)
规则是:
(e1-127) +e2
所以指数是
(68 - 127) + 42 = -17
-17 不能以 IEEE754 格式表示
这个计算器说指数是-126。 但是我怎样才能手工计算呢?
第一:更正
00010101000000000000000000000001
不是-2.997414069111348324895269018E-38
,而是2.58493972238e-26
。
请参阅IEEE-754 浮点转换器
1.73472347598e-18 * 2.58493972238e-26
的4.48416e-44
约为4.48416e-44
或十六进制/二进制说明符号0x1.0000002p-144
。 -144 - (-127) 是追捧的 -17。
我怎样才能手工计算这个?
说指数是-126
“-17 不能以 IEEE754 格式表示”并不完全正确。
乘积小于最小归一化值(偏置指数小于 1),但大于最小次正常值。 IEEE 格式牺牲了精度来扩展微小值的范围。 将 -17 增加到 1(即 -126 的偏置指数)并将有效数0x1.000002
18 右移。
s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmm
0 00000000 00000000000000000100000
+0.00000000000000000100000 2 *2 1-127
当编码的偏置指数为 0 时,将编码解释为偏置指数为 1,但隐含的 1 位现在为 0。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.