На Горох
Информатика, 10 класс

§ 30. Операции с вещественными числами

"Информатика. Углубленный уровень (в 2-ух частях) ", Поляков К.Ю., Еремин Е.А.

Объяснение темы В оглавлении: § 30. Операции с вещественными числами

Кратко о теме

Вещественные числа, такие как 3.14 или -2.71, используются для представления значений, которые не являются целыми. В компьютерах они представляются в особом формате, который позволяет хранить как целую, так и дробную часть. Однако это представление не всегда точно, что приводит к погрешностям при вычислениях. Этот параграф посвящён изучению машинного представления вещественных чисел, источникам погрешностей и способам их учёта.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Вещественное число – это любое число, которое может быть представлено в виде десятичной дроби. Это включает в себя рациональные числа (например, 3/2 = 1.5) и иррациональные числа (например, √2, π). Вещественные числа используются для представления непрерывных величин, в отличие от целых чисел, которые представляют дискретные величины.

Машинное представление – это способ представления вещественных чисел в памяти компьютера. Так как компьютер может хранить только конечное количество информации, вещественные числа представляются приближённо. Это означает, что не все вещественные числа могут быть представлены точно.

Погрешность представления – это разница между истинным значением вещественного числа и его машинным представлением. Эта погрешность неизбежно возникает из-за ограниченной точности представления чисел в компьютере и необходимости округления. Понимание этой погрешности критически важно для оценки точности вычислений.

Округление – это процесс замены вещественного числа на его ближайшее машинное представление. Существуют различные способы округления: в большую сторону, в меньшую сторону и до ближайшего целого. Выбор способа округления влияет на величину погрешности представления.

Как это устроено

Вещественные числа в компьютерах представляются не в десятичной, а в двоичной системе счисления. Это связано с тем, что компьютер работает с битами (0 и 1). Однако двоичное представление некоторых десятичных чисел не является точным, что приводит к погрешностям. Представление чисел с плавающей точкой основано на стандарте IEEE 754, который определяет форматы хранения и операций с вещественными числами.

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

Округление необходимо, поскольку компьютер имеет ограниченный объем памяти для хранения вещественных чисел. Когда число не может быть представлено точно, оно округляется до ближайшего значения, которое можно представить. Округление может происходить в большую сторону (округление вверх), в меньшую сторону (округление вниз) или до ближайшего целого числа. Выбор метода округления влияет на величину и направление погрешности. Например, при округлении до ближайшего целого числа, числа, оканчивающиеся на 0.5, округляются в большую сторону.

При выполнении арифметических операций с вещественными числами погрешности накапливаются. Каждая операция округления вносит дополнительную погрешность. Например, при сложении двух чисел с разными экспонентами, необходимо привести их к одному масштабу, что может привести к потере точности. Погрешность при умножении и делении обычно меньше, чем при сложении и вычитании, но все же присутствует.

Сравнение операций с вещественными числами и целыми

Операция Целые числа Вещественные числа
Точность Абсолютная Ограниченная (зависит от формата)
Диапазон Ограничен (зависит от типа) Ограничен (зависит от формата)
Операции сложения/вычитания Всегда точный результат Возможна потеря точности
Операции умножения/деления Всегда точный результат Возможна потеря точности

Эта таблица наглядно показывает, что операции с вещественными числами могут приводить к потере точности из-за их приближенного представления. При работе с целыми числами результаты всегда точны, если не превышают диапазон допустимых значений.

Разбор задач

  1. Вычислите (1.0 / 3.0) * 3.0 и сравните результат с 1.0.
    1. Выполняем деление: 1.0 / 3.0 = 0.3333333... (в двоичной системе это представление неточное).
    2. Выполняем умножение: 0.3333333... * 3.0 = 0.9999999... (результат близок к 1.0, но не равен ему).
    3. Сравниваем результат с 1.0: полученный результат будет немного отличаться от 1.0 из-за погрешностей представления вещественных чисел.
    Ответ: Результат будет близок к 1.0, но не будет равен ему из-за погрешности представления вещественных чисел.
  2. Вычислите сумму 1.0 + 1e-16 + 1.0. Что произойдет?
    1. 1e-16 - это очень маленькое число (0.0000000000000001).
    2. При сложении 1.0 + 1e-16 компьютер может округлить 1e-16 до нуля, поскольку оно меньше, чем наименьшее представимое число с заданной точностью.
    3. В результате, выражение станет равно 1.0 + 0.0 + 1.0 = 2.0.
    Ответ: Сумма может быть равна 2.0, а не 2.0000000000000001 из-за потери значимости разрядов.
  3. Оцените абсолютную и относительную погрешность при вычислении корня квадратного из числа, представленного в компьютерной памяти.
    1. Пусть истинное значение корня квадратного равно √x.
    2. Предположим, машинное представление корня равно y.
    3. Абсолютная погрешность: |√x - y|.
    4. Относительная погрешность: |(√x - y) / √x|.
    Ответ: Для оценки погрешности необходимо знать истинное значение корня и его машинное представление.

Типичные ошибки

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

Игнорирование погрешностей округления при выполнении сложных вычислений: Накопление ошибок может привести к значительному отклонению от истинного значения. Важно учитывать погрешности на каждом шаге вычислений.

Неправильное использование типов данных: Выбор типа данных недостаточной точности может привести к потере информации. Следует выбирать тип данных, который обеспечивает необходимую точность для решения конкретной задачи.

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

Связь с другими темами

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

Алгоритмы вычислений (численные методы): Знание о погрешностях представляемых чисел необходимо при разработке и анализе численных методов. Численные методы позволяют решать задачи, для которых не существует аналитических решений, но требуют точной оценки погрешности.

Что запомнить

  • Вещественные числа представляются в компьютере приближённо.
  • Формат представления вещественных чисел (мантисса, экспонента, знак) определяет точность и диапазон.
  • Округление неизбежно вносит погрешность.
  • При сравнении вещественных чисел необходимо учитывать погрешность представления.
  • Погрешность накапливается при выполнении последовательных вычислений.
  • Выбор типа данных влияет на точность вычислений.

Частые вопросы по теме

Почему при сложении двух небольших чисел результат может быть равен нулю?

Это происходит из-за ограниченной точности представления вещественных чисел. Если число слишком мало, оно может быть представлено в памяти компьютера в виде числа, близкого к нулю, и при сложении с другим числом потеряться из-за округления, что приведет к конечному результату, равному нулю.

В чем разница между абсолютной и относительной погрешностью?

Абсолютная погрешность - это разница между истинным значением и его приближенным представлением. Относительная погрешность - это отношение абсолютной погрешности к истинному значению, выраженное в процентах. Относительная погрешность показывает, насколько велика ошибка по сравнению с самим значением.

Как узнать, какой тип данных вещественного числа использовать?

Выбор типа данных зависит от требуемой точности и диапазона значений. Если нужны вычисления с высокой точностью и небольшой диапазон значений, можно использовать тип float. Для вычислений с большим диапазоном значений, но менее высокой точностью подходит тип double.

Можно ли полностью избежать погрешности при работе с вещественными числами?

Полностью избежать погрешности невозможно, так как представление вещественных чисел в компьютере всегда приближенное. Однако можно уменьшить ее, используя типы данных с большей точностью, тщательно выбирая алгоритмы вычислений и учитывая возможные источники ошибок.

Как оценить погрешность сложного выражения, содержащего вещественные числа?

Оценка погрешности сложного выражения требует учета погрешности каждого элемента и как эти погрешности распространяются в процессе вычислений. Чаще всего используют методы анализа ошибок, основанные на оценке максимальной возможной погрешности на каждом шаге вычислений.

Спросить по теме параграфа

§ 30. Операции с вещественными числами

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс
Учебник
"Информатика. Углубленный уровень (в 2-ух частях) ", Поляков К.Ю., Еремин Е.А.