"Информатика. Углубленный уровень (в 2-ух частях) ", Поляков К.Ю., Еремин Е.А.
Вещественные числа, такие как 3.14 или -2.71, используются для представления значений, которые не являются целыми. В компьютерах они представляются в особом формате, который позволяет хранить как целую, так и дробную часть. Однако это представление не всегда точно, что приводит к погрешностям при вычислениях. Этот параграф посвящён изучению машинного представления вещественных чисел, источникам погрешностей и способам их учёта.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Вещественное число – это любое число, которое может быть представлено в виде десятичной дроби. Это включает в себя рациональные числа (например, 3/2 = 1.5) и иррациональные числа (например, √2, π). Вещественные числа используются для представления непрерывных величин, в отличие от целых чисел, которые представляют дискретные величины.
Машинное представление – это способ представления вещественных чисел в памяти компьютера. Так как компьютер может хранить только конечное количество информации, вещественные числа представляются приближённо. Это означает, что не все вещественные числа могут быть представлены точно.
Погрешность представления – это разница между истинным значением вещественного числа и его машинным представлением. Эта погрешность неизбежно возникает из-за ограниченной точности представления чисел в компьютере и необходимости округления. Понимание этой погрешности критически важно для оценки точности вычислений.
Округление – это процесс замены вещественного числа на его ближайшее машинное представление. Существуют различные способы округления: в большую сторону, в меньшую сторону и до ближайшего целого. Выбор способа округления влияет на величину погрешности представления.
Вещественные числа в компьютерах представляются не в десятичной, а в двоичной системе счисления. Это связано с тем, что компьютер работает с битами (0 и 1). Однако двоичное представление некоторых десятичных чисел не является точным, что приводит к погрешностям. Представление чисел с плавающей точкой основано на стандарте IEEE 754, который определяет форматы хранения и операций с вещественными числами.
Стандарт IEEE 754 использует формат, состоящий из трех основных частей: знак, мантисса и экспонента. Знак определяет, является ли число положительным или отрицательным. Мантисса представляет значащие цифры числа, а экспонента определяет порядок числа, то есть его масштаб. Этот формат позволяет представлять числа как очень большие, так и очень маленькие. Нормализация мантиссы означает представление числа в таком виде, чтобы старшая цифра мантиссы была отлична от нуля. Это позволяет максимизировать точность представления, используя доступные биты для представления значащих цифр.
Округление необходимо, поскольку компьютер имеет ограниченный объем памяти для хранения вещественных чисел. Когда число не может быть представлено точно, оно округляется до ближайшего значения, которое можно представить. Округление может происходить в большую сторону (округление вверх), в меньшую сторону (округление вниз) или до ближайшего целого числа. Выбор метода округления влияет на величину и направление погрешности. Например, при округлении до ближайшего целого числа, числа, оканчивающиеся на 0.5, округляются в большую сторону.
При выполнении арифметических операций с вещественными числами погрешности накапливаются. Каждая операция округления вносит дополнительную погрешность. Например, при сложении двух чисел с разными экспонентами, необходимо привести их к одному масштабу, что может привести к потере точности. Погрешность при умножении и делении обычно меньше, чем при сложении и вычитании, но все же присутствует.
| Операция | Целые числа | Вещественные числа |
|---|---|---|
| Точность | Абсолютная | Ограниченная (зависит от формата) |
| Диапазон | Ограничен (зависит от типа) | Ограничен (зависит от формата) |
| Операции сложения/вычитания | Всегда точный результат | Возможна потеря точности |
| Операции умножения/деления | Всегда точный результат | Возможна потеря точности |
Эта таблица наглядно показывает, что операции с вещественными числами могут приводить к потере точности из-за их приближенного представления. При работе с целыми числами результаты всегда точны, если не превышают диапазон допустимых значений.
Сравнение вещественных чисел на равенство напрямую: Из-за погрешности представления, результат сравнения на равенство может быть непредсказуемым. Вместо этого нужно проверять, что абсолютная разница между числами меньше некоторой заданной погрешности.
Игнорирование погрешностей округления при выполнении сложных вычислений: Накопление ошибок может привести к значительному отклонению от истинного значения. Важно учитывать погрешности на каждом шаге вычислений.
Неправильное использование типов данных: Выбор типа данных недостаточной точности может привести к потере информации. Следует выбирать тип данных, который обеспечивает необходимую точность для решения конкретной задачи.
Предположение о точной повторяемости результатов: При одинаковых входных данных результат может немного отличаться из-за особенностей аппаратного обеспечения и компилятора.
Системы счисления: Понимание представления чисел в двоичной системе счисления необходимо для понимания того, как вещественные числа представляются в компьютере. Двоичная система используется для хранения и обработки информации в компьютерах.
Алгоритмы вычислений (численные методы): Знание о погрешностях представляемых чисел необходимо при разработке и анализе численных методов. Численные методы позволяют решать задачи, для которых не существует аналитических решений, но требуют точной оценки погрешности.
Почему при сложении двух небольших чисел результат может быть равен нулю?
Это происходит из-за ограниченной точности представления вещественных чисел. Если число слишком мало, оно может быть представлено в памяти компьютера в виде числа, близкого к нулю, и при сложении с другим числом потеряться из-за округления, что приведет к конечному результату, равному нулю.
В чем разница между абсолютной и относительной погрешностью?
Абсолютная погрешность - это разница между истинным значением и его приближенным представлением. Относительная погрешность - это отношение абсолютной погрешности к истинному значению, выраженное в процентах. Относительная погрешность показывает, насколько велика ошибка по сравнению с самим значением.
Как узнать, какой тип данных вещественного числа использовать?
Выбор типа данных зависит от требуемой точности и диапазона значений. Если нужны вычисления с высокой точностью и небольшой диапазон значений, можно использовать тип float. Для вычислений с большим диапазоном значений, но менее высокой точностью подходит тип double.
Можно ли полностью избежать погрешности при работе с вещественными числами?
Полностью избежать погрешности невозможно, так как представление вещественных чисел в компьютере всегда приближенное. Однако можно уменьшить ее, используя типы данных с большей точностью, тщательно выбирая алгоритмы вычислений и учитывая возможные источники ошибок.
Как оценить погрешность сложного выражения, содержащего вещественные числа?
Оценка погрешности сложного выражения требует учета погрешности каждого элемента и как эти погрешности распространяются в процессе вычислений. Чаще всего используют методы анализа ошибок, основанные на оценке максимальной возможной погрешности на каждом шаге вычислений.
§ 30. Операции с вещественными числами