Описание тега floating-point

Числа с плавающей запятой представляют собой аппроксимации действительных чисел, которые могут представлять большие диапазоны, чем целые числа, но используют тот же объем памяти за счет более низкой точности. Если ваш вопрос касается небольших арифметических ошибок (например, почему 0,2 + 0,1 равно 0,300000001?) Или ошибок десятичного преобразования, пожалуйста, прочтите "информацию" на указанной ниже странице перед публикацией.

Многие вопросы, которые здесь задаются о математике с плавающей запятой, касаются небольших неточностей в арифметике с плавающей запятой. Чтобы использовать пример из отрывка,0.1 + 0.1 + 0.1 может привести к 0.300000001 вместо ожидаемого 0.3. Подобные ошибки вызваны тем, как числа с плавающей запятой представлены в памяти компьютера.

Целые числа хранятся как точные значения чисел, которые они представляют. Числа с плавающей запятой хранятся как два значения: мантисса и показатель степени. Невозможно найти пару значащая-экспонента, которая соответствует всем возможным действительным числам. В результате неизбежны некоторые приближения и, следовательно, неточности.

Два часто цитируемых ресурса вводного уровня по математике с плавающей запятой - это " Что должен знать каждый компьютерный ученый об арифметике с плавающей запятой" и " https://floating-point-gui.de/.

FAQs:

Почему 0.1 не существует с плавающей запятой

https://0.30000000000000004.com/

Связанные теги:

Языки программирования, где все числа имеют двойную точность (64b) с плавающей точкой: