1

我知道“\p x”命令设置所有计算的精度,但我正在寻找一些不同的东西。给定一个以高精度计算的给定数字,我想仅针对我的代码的一部分将其舍入到较低的精度。这样做的原因是取复数的绝对值往往会产生一些舍入错误,从而导致以后出现问题。我希望这些绝对值是相同的,并且没有他们现在的微小错误。

换句话说,我怎样才能让 1.xxxxxxxxxxxxxx -> 1.xxxxxxx 只为一个特定的数字?

4

1 回答 1

2

最简单的解决方案是

z * precision(1., 100)

将 z 的分量截断到 100 位的相对精度。出于打印目的,您还可以使用printf("%m.nf", z)标准含义。

于 2013-04-05T15:53:52.780 回答