2009-01-23 1 views
1

вопроса я имел в виду спросить обеспокоенные мантиссы, а не exponent, и имеет много общего с вопросом я спросил в начале недели относительно "missing" digits on the sum of two negative floats.Как определить точность переполнения мантиссы в GMP, до или после ее возникновения?

Учитывая, что мантисса имеет переменную точность, как делает один скажите, переполнил ли он текущую точность настройки мантиссы? Или, с активной стороны, как можно сказать, вероятно ли переполнение точности мантиссы?

С уважением, Брюс.

ответ

2

Есть несколько числовых методов, чтобы увидеть, если вы собираетесь потерять точность, но в итоге вы должны лучше понять определение точности.

-4939600281397002,2812

и

-4939600281397002,2812000000000000

не то же самое число.

При добавлении

-2234.6016114467412141

и

-4939600281397002,2812

вместе, правильно выход будет иметь только 20 цифр точности, потому что еще 12 цифр в меньшее число бессмысленно, учитывая, что 12 цифр аналогичного размера в большем количестве: неизвестно. Вы можете предполагать, что они равны нулю, но если это так, то вы должны явно объявить их как таковые и использовать систему нумерации, которая может справиться с этим - компьютер плохо разбирается в неявных намерениях.

Что касается определения того, когда у вас возникнет эта проблема, все, что вам нужно сделать, это выяснить, имеет ли он тот же показатель (при условии, что нормализованная мантисса +/- 1 или аналогичный двоичный эквивалент). Если они не нормализованы, вам нужно будет нормализовать их для сравнения или использовать несколько более сложное сравнение с экспонентом.

Точность и точность не то же самое ...

-Adam

Смежные вопросы