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));