1

Прочитав одну интересную научную статью на прошлой неделе, я хотел бы услышать мнение кого-то, кто испытал это или кто "в теме":

Современные процессоры имеют некоторый конечный уровень точности, так что, например, какие процессоры используются в ядерной физике или генетике? Каков их уровень точности, когда мы говорим о числах, таких как 10e-19 (заряд единицы) или 10e-34 (постоянная Планка)?

Взгляните на определение гравитационной постоянной @ Wired.com, разница составляет около 240 x 10e-6. Я немного запутался, какие процессоры они использовали?

1 ответ1

2

Произвольная точность возможна в научных вычислениях. Вы просто платите за это в дополнительной обработке.

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

Произвольная точность достигается использованием произвольного числа или слов для кодирования числа. Арифметические операции становятся более сложными, так как округление и остатки должны отслеживаться и повторно включаться в вычисления:

http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic

Поддержка высокоточных чисел существует практически на всех языках программирования. Некоторые высокоуровневые инструменты, такие как Mathematica, пытаются выполнить обработку за вас (она оценивает точность, которая вам нужна).

Как правило, эти инструменты не зависят от используемого процессора, если этот процессор не делает ошибок:

http://engineeringfailures.org/?p=466

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .