use*_*995 0 c++
我有双数据类型的弧度值x。
x
x = 0.423438990337458964763328594926861114799976348876953125;
将此值转换为度然后再转换回弧度时,我希望计算机在x不损失精度的情况下给我相同的值。
我正在使用该qRadiansToDegrees方法qt,它看起来很完美,但是在尝试访问x.
qRadiansToDegrees
qt
如果这是可以解决的,有人可以告诉我如何防止这种情况发生吗?如果不是,是否有另一种表示方式,doubles以便它们在转换后不会失去精度?
doubles
xjc*_*jcl 7
在计算中,double可以包含 53 个二进制有效数字,这在我们使用的十进制系统中转换为math.log(2**53, 10)~= 15 个有效数字。
math.log(2**53, 10)
因此,您不能期望0.42343899033745896476332859492686111479997634887695312554 位有效数字能够准确表示。
0.423438990337458964763328594926861114799976348876953125
如果您确实需要这种精度,则可以使用单独的库来处理高精度数字。然而,这些速度较慢,可能没有必要。
归档时间:
5 年,10 月 前
查看次数:
262 次
最近记录: