Те же ошибки, которые вы всегда получаете при вычислениях double : вы никогда не получите более 15 значащих цифр после преобразования результата в десятичную, остальные - просто случайные цифры шума.Разница между / fp: fast и / fp: точная - это то, что происходит с этими цифрами шума.
Опция / fp: точная решает проблему с FPU x86, она сохраняет промежуточные результаты в регистрах FPU с 80биты точности.Что может привести к слегка разным значениям цифр шума, если промежуточное значение хранится в регистре.С / fp: точным, генератор кода вынужден сбросить эти значения обратно в память, урезая их до 64 бит.Это медленно, но генерирует более последовательный шум.Что имеет значение, если вы совершаете грех сравнения значений с плавающей запятой на равенство без эпсилона.
Слишком много недоразумений для большинства бухгалтеров, использование математической библиотеки, которая насчитывает 10 пальцев вместо 2, является распространенным решением.Это решает проблему с цифрами шума, устраняя те, которые генерируются при преобразовании чисел из базы 10 в базу 2. Код будет медленным, намного медленнее, чем / fp: точным, поскольку все вычисления выполняются в программном обеспечении без аппаратного ускорения.Но, как правило, не проблема в бухгалтерских приложениях.