我有三组数字,一个测量值(在 0-1 范围内),两个错误(正数和负数)。这些数字应该与有效数字的数量一致,四舍五入,对应于第一个非任何一个数字中的零条目。
如果它是一个,则在测量中跳过此要求(即只需要考虑误差中的数字)。例如:
0.95637 (+0.00123, -0.02935) --> 0.96 +0.00 -0.03
1.00000 (+0.0, -0.0979) --> 1.0 +0.0 -0.1 (note had to truncate due to -ve error rounding up at first significant digit)
现在,通过取 log10(num) 很容易获得第一个非零数字,但我有一个愚蠢的时刻,试图让剥离和舍入以一种干净的方式工作。
所有数据类型都是双精度的,选择的语言是 C++。欢迎所有和任何想法!