Существует несколько численных методов, позволяющих определить, потеряете ли вы точность, но суть в том, что вам нужно лучше понять определение точности.
-4939600281397002,2812
и
-4939600281397002,2812000000000000
НЕ совпадают.
Когда вы добавляете
-2234,6016114467412141
и
-4939600281397002,2812
вместе, правильный вывод будет иметь только 20 цифр точности, потому что дополнительные 12 цифр в меньшем числе не имеют смысла, учитывая, что 12 цифр аналогичного размера в большем числе неизвестны 1022 *. Вы можете подразумевать, что они равны нулю, но если это так, то вы должны явно объявить их как таковые и использовать систему нумерации, которая может с этим справиться - компьютер плохо разбирается в неявных намерениях.
Что касается определения, когда у вас возникнет эта проблема, все, что вам нужно сделать, это выяснить, имеют ли они одинаковый показатель степени (при условии нормализованной мантиссы +/- 1 или аналогичного двоичного эквивалента). Если они не нормализованы, вам нужно нормализовать их для сравнения или использовать немного более сложное сравнение с показателем степени.
Точность и точность не одно и то же ...
-Adam