Взгляните на интервальную арифметику .
Часто при применении в вычислениях предполагается, что все операции вызывают расширение интервала на одну единицу в последнем месте, поэтому это дает пессимистический результат.
Интервалы могут быть установлены на основе известной точности входов - если у вас есть pi = 3,142, то вы бы сделали константу pi интервалом [3.1415, 3.1425].
Интервалы могут быть установлены на основе известной точности входов - если у вас есть pi = 3,142, то вы бы сделали константу pi интервалом
Предполагая, что 8 сиг-фиг работают для интервалов -вам нужно больше точности в интервале, чем в значениях,
pi = [3.1415000, 3.1425000]. // pi to 4sf
angle = [-32.385000, -32.395000]. // angle to 4sf
degs_to_rads = pi / 180 // exact constant 180
= [0.017452776, 0.017458334]. // truncated and widened from [0.0174527778,0.0174583333]
rads = pi * angle / 180
= [-0.56556274,-0.56520814] // truncated and widened from [-0.56556273,-0.565208151]
width(rads) = abs(-0.56556274 - (-0.56520814)) = -0.0003546
, поэтому, если вы хотите отформатировать rads для целого числа Sig Fig, вы выбрали значащие цифры, чтобы ошибка на интервалене виден;в этом случае
sf min max
8 -0.56556274 -0.56520814
5 -0.56556 -0.56521
4 -0.5656 -0.5652
3 -0.566 -0.565
2 -0.57 -0.57
Таким образом, хотя интервал достаточно мал для входных данных, известных четырем значащим цифрам, результат точен только до двух.
Это похоже на обычную практику цитированияприводит к меньшему количеству значащих цифр, чем используемые входы, а не пример, который вы даете, который предполагает идеальную точность.