Указывает ли точка в конце числа с плавающей запятой на недостаточную точность?

Когда я отлаживаю свое программное обеспечение в VS C ++ путем пошагового выполнения кода, я замечаю, что некоторые вычисления с плавающей запятой отображаются в виде числа с точкой в ​​конце, например:

1232432.

Одна операция, которая приводит к такому результату, заключается в следующем:

float result = pow(10, a * 0.1f) / b

где a - большое отрицательное число от -50 до -100, а b чаще всего около 1. Я читал несколько статей о проблемах с точностью, когда дело доходит до чисел с плавающей запятой. . Мой вопрос заключается в том, что конечная точка - это способ Visual-Studio сообщить мне, что точность очень низкая для этого числа, то есть для переменного результата. Если нет, то что это значит?

Это возникло сегодня на работе, и я помню, что была проблема с большими числами, поэтому это происходило каждый раз (и под «этим» я подразумеваю эту конечную точку). Но я точно помню, что это произошло, когда в номере было семь цифр. Здесь они пишут, что точность чисел с плавающей запятой составляет семь цифр:

Деление и точность чисел с плавающей запятой в C ++

Может ли это быть так, и Visual Studio сообщает мне об этом, ставя точку в конце?

Я ДУМАЮ, ЧТО Я НАШЕЛ ЭТО ! Он говорит: «Мантисса определяется как последовательность цифр, за которой следует точка». Что означает мантисса? Может ли это быть по-другому на ПК и при запуске кода на DSP? Дело в том, что я получаю разные результаты, и единственное, что мне кажется странным, это этот период, потому что я не знаю, что он означает.

http://msdn.microsoft.com/en-us/library/tfh6f0w2 (v = vs.71) .aspx

5
задан Community 23 May 2017 в 12:20
поделиться