科学计数法4E+30 怎么转换成x*(2^y)的形式存进内存?

来源:百度知道 编辑:UC知道 时间:2024/07/02 00:53:12
如题 普通的浮点数怎么存进内存我知道 但是当给出的数是以科学技术法表示的时候,怎么转换成x*(2^y)呢?

4×10^30=
4×2^30×5^30=
5^30×2^32=
111110010110010011100110100000100011001110100111011011110101001×2^32=
1.11110010110010011100110100000100011001110100111011011110101001×2^94
那个5^30我是用计算器做的

具体的方法就是先把这个数拆成(一个奇数与一个2的幂)的积的形式,然后将那个奇数化成二进制,然后移动小数点,并把2的幂数改一下就完了
这个方法是我自己想出来的,可能不对,不过对的可能性比较大,看下面:

我将4×10^30定义成了一个real8型的浮点数,其在内存中是这样存放的:
100011001001001001111100101100100111001101000001000110011101010
后面有几位舍去了,前面几位和我计算的那个结果是一样的,那个阶码是怎么定义的来着我忘了,不知道是不是94,你自己算算吧