Floating point 如何计算IEEE扩展双精度的最小值和最大值?

Floating point 如何计算IEEE扩展双精度的最小值和最大值?,floating-point,standards,Floating Point,Standards,我知道最小值和值是: 最小:3.362。。。10-4932 最大值:1.189。。。10+4932 和(2^14)*log(2)~4932,它给出了指数部分。但我不知道尾数。尾数有一个隐式的开头。这避免了为始终为1的位浪费一位存储空间(减少的浮点除外,这是所有指数位为零时的特殊情况) 请注意,隐式的第一个数字只能是二进制的。例如,在十进制中,你可能有3.14e+2,你不能只删除第一个数字(3),因为你不知道它是哪个数字(1-9) 例如,浮点值seemmmm将被读取为(在C样式的伪代码中) (s?

我知道最小值和值是:
最小:
3.362。。。10-4932

最大值:
1.189。。。10+4932


(2^14)*log(2)~4932
,它给出了指数部分。但我不知道尾数。

尾数有一个隐式的开头。这避免了为始终为1的位浪费一位存储空间(减少的浮点除外,这是所有指数位为零时的特殊情况)

请注意,隐式的第一个数字只能是二进制的。例如,在十进制中,你可能有3.14e+2,你不能只删除第一个数字(3),因为你不知道它是哪个数字(1-9)

例如,浮点值seemmmm将被读取为(在C样式的伪代码中)


(s?-1:1)*((二进制)1mmmmm这个问题很难理解,因为有太多没有格式的数字相邻。你能解决这个问题吗?@Tronic,这个更好吗?好的,所以这个IEEE标准的最大值应该是1.11111…1(带有64个一的余弦)在二进制格式中,十进制数几乎是2。但2与上面的1.189完全不同。而且最小值和最大值似乎有不同的尾数。P.S.应该是(2^14)*log(2)~4932
(s ? -1 : 1) * ((binary)1mmmmm << ((binary)eee - bias));