Floating point 使用对数和浮点数的有效数字
与此问题相关: 我想将使用双精度Floating point 使用对数和浮点数的有效数字,floating-point,logarithm,Floating Point,Logarithm,与此问题相关: 我想将使用双精度d表示的数字n的有效位打印为n=2^d。 是否有计算n有效位的d函数?有效数字的最大值(大于0)也可以,如float.h中的DBL\u DIG 编辑: 我将对d进行许多添加,以使2^d>最大加倍。因此,我怀疑n中的有效位数将小于d中的有效位数。这是真的吗?我的意思是(希望这是有意义的): 让n=n1+n2,n1=2^d1,n2=2^d2然后我将执行d=d1+d2,这样n=2^d 我之所以使用它,是因为几乎不可能让d溢出,而且我很乐意在n中失去很多精度 我将使用这里
d
表示的数字n
的有效位打印为n=2^d
。
是否有计算n
有效位的d
函数?有效数字的最大值(大于0
)也可以,如float.h
中的DBL\u DIG
编辑:
我将对d
进行许多添加,以使2^d
>最大加倍。因此,我怀疑n
中的有效位数将小于d
中的有效位数。这是真的吗?我的意思是(希望这是有意义的):
让n=n1+n2
,n1=2^d1
,n2=2^d2
然后我将执行d=d1+d2
,这样n=2^d
我之所以使用它,是因为几乎不可能让d
溢出,而且我很乐意在n
中失去很多精度
我将使用这里描述的一个函数:。我不确定您所说的“计算
n
的有效数字”与“计算n
”是什么意思。您想知道有多少个有效数字吗?(这与d
的有效位数相同)@Sneftel:我在问题中添加了相关的用法细节,你的意思是n=n1*n2
?@SimonByrne我不认为你所拥有的没有意义:日志空间中的加法对应乘法:2^(d1+d2)=2^d1*2^d2