1
我只是发现了两种输入形式之间的根本区别的浮点数:浮点数的基本输入形式?
In[8]:= 1.5*^-334355//Hold//FullForm
1.5*10^-334355//Hold//FullForm
Out[8]//FullForm= Hold[1.5000000000000000000000000000000001`15.954589770191005*^-334355]
Out[9]//FullForm= Hold[Times[1.5`,Power[10,-334355]]]
这两种形式不同,非常的内存和时间消耗:
In[7]:= start = MaxMemoryUsed[];
1.5*^-33432242 // Timing
start = MaxMemoryUsed[] - start
1.5*10^-33432242 // Timing
MaxMemoryUsed[] - start
Out[8]= {1.67401*10^-16, 1.500000000000000*10^-33432242}
Out[9]= 0
Out[10]= {7.741, 1.500000000000000*10^-33432242}
Out[11]= 34274192
但我不能找到文件形式为*^
。它是浮点数的一个真正的基本输入形式吗?其他基地的数字如何?
为什么第二种形式是如此昂贵?
从帮助`的* ^形式的科学记数法始终以InputForm使用,并且是独立的NumberMarks的。 `在**数字标记** _更多信息_ – 2011-02-08 23:39:36
@belisarius谢谢,但这个音符听起来含糊不清,因为它只与ScientificForm有关。 – 2011-02-09 00:21:46