"Информатика (в 2-х частях)", Горячев А.В., Герасимова В.Г., Макарина Л.А., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Юдина А.Г., Чернышёва Т.Л.
Нормализованная запись позволяет представить ненулевое число как мантиссу, умноженную на основание системы счисления в степени. Такая форма помогает единообразно записывать очень большие и очень маленькие числа. Компьютер хранит вещественные числа с плавающей запятой: отдельно задаёт знак, значащую часть и масштаб. Но количество разрядов памяти ограничено, поэтому некоторые значения приходится округлять, а результат вычисления может немного отличаться от точного.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Нормализованная запись числа — представление ненулевого числа в виде произведения мантиссы на основание системы счисления в степени. В десятичной системе обычно выбирают мантиссу так, чтобы её модуль был не меньше 1, но меньше 10. Такое правило помогает записывать числа единообразно и сравнивать их.
Мантисса — значащая часть числа в нормализованной записи. Например, в записи 5,6 × 10⁴ мантисса равна 5,6; её знак и положение запятой влияют на значение. Мантисса нужна, чтобы сохранить значащие цифры числа.
Порядок числа — показатель степени основания системы счисления в нормализованной записи. В выражении 5,6 × 10⁴ порядок равен 4. Он показывает, во сколько раз нужно изменить мантиссу, то есть задаёт масштаб числа.
Число с плавающей запятой — способ представить вещественное число с помощью знака, мантиссы и порядка. Эти части вместе определяют значение числа, как цифры и разряды определяют его в обычной записи. Такой способ позволяет охватывать широкий диапазон величин.
Чтобы нормализовать ненулевое число, запятую переносят так, чтобы в десятичной мантиссе перед ней осталась одна ненулевая цифра. Число переносов становится показателем степени числа 10, а направление переноса определяет знак показателя. Это компенсирует изменение мантиссы: без степени результат был бы уже другим числом. Например, 56000 превращается в 5,6 × 10⁴.
Если запятую переносить влево, мантисса становится меньше, поэтому для сохранения исходного значения её умножают на большую степень основания. Например, 56000 = 5,6 × 10⁴: перенос на четыре позиции влево сопровождается положительным порядком 4. Если запятую переносить вправо, мантисса увеличивается, и её компенсирует отрицательная степень. Так, 0,0048 = 4,8 × 10⁻³: перенос на три позиции вправо даёт порядок −3.
Знак, мантисса и порядок работают вместе. Знак сообщает, находится ли число выше или ниже нуля, мантисса задаёт его значащие цифры, а порядок определяет величину масштаба. Если изменить одну часть, не меняя остальные, получится другое число. Поэтому при записи важно учитывать все три компонента.
В памяти компьютера под вещественное число отводится ограниченное количество разрядов. Часть разрядов кодирует знак и порядок, а другая часть — мантиссу; конкретное распределение зависит от принятого формата. Разрядов нельзя добавлять сколько угодно, поэтому число значащих цифр и крайние возможные величины ограничены. Отсюда появляются конечная точность и диапазон представления.
Некоторые числа требуют бесконечно много цифр в двоичной записи, хотя в десятичной выглядят простыми. Например, дробь 0,1 в двоичной системе не имеет конечной записи, поэтому память хранит её приближение. При вычислениях такое округление может немного изменить результат, а ошибки иногда накапливаются. Это называют погрешностью представления или вычисления.
| Часть записи | Что хранит | На что влияет |
|---|---|---|
| Знак | Положительное или отрицательное значение | На направление числа относительно нуля |
| Мантисса | Значащие цифры числа | На точность и конкретное значение внутри выбранного масштаба |
| Порядок | Показатель степени основания | На масштаб и диапазон величины |
| Ограниченное число разрядов | Сколько информации можно сохранить о частях числа | На точность и доступный диапазон |
При чтении числа сначала учитывай знак, затем мантиссу и степень, в которую она умножается. Таблица показывает, какую роль выполняет каждая часть и почему нельзя судить о точности только по мантиссе. Ограничение разрядов относится ко всему представлению и влияет также на диапазон возможных значений.
Задача 1. Записать число 56000 в нормализованном виде с основанием 10. Мантисса должна быть не меньше 1 и меньше 10. Поэтому нужно оставить перед запятой одну цифру и компенсировать перенос степенью десяти.
Ответ: 56000 = 5,6 × 10⁴. Порядок положительный, потому что запятую переносили влево.
Задача 2. Записать 0,0048 в нормализованном виде с основанием 10, а затем восстановить число по мантиссе 4,8 и порядку −3. Здесь исходное число меньше единицы, поэтому для получения нормализованной мантиссы запятую придётся передвинуть вправо. После записи проверим результат обратным преобразованием.
Ответ: 0,0048 = 4,8 × 10⁻³; мантисса 4,8 и порядок −3 дают число 0,0048. Отрицательный порядок согласуется с переносом запятой вправо.
Задача 3. Сравнить положительные числа 6,2 × 10³ и 8,1 × 10² и объяснить, почему сохранённое компьютером значение может отличаться от точного. При одинаковом основании сначала сопоставляют порядки: больший порядок означает больший масштаб. Если порядки одинаковы, сравнивают мантиссы. Затем отдельно учитывают ограничение точности памяти.
Ответ: 6,2 × 10³ > 8,1 × 10². Приближённо сохранённое значение отличается от точного из-за конечной точности представления.
При переносе запятой иногда забывают изменить порядок или меняют его знак на противоположный. Это происходит, если считать только число позиций и не проверять, как изменился размер мантиссы. Для проверки восстанови исходное число из мантиссы и порядка: значение должно совпасть.
Мантиссу и порядок могут принимать за одно и то же, потому что обе части участвуют в записи числа. Но мантисса задаёт значащие цифры, а порядок — масштаб; например, в 5,6 × 10⁴ это соответственно 5,6 и 4. Проверь, можешь ли объяснить, какая часть отвечает за цифры, а какая — за величину числа.
Не всякая запись произведения является нормализованной. Например, 56 × 10³ равно 56000, но в стандартной десятичной нормализованной записи мантисса должна быть от 1 включительно до 10 не включительно. Проверь диапазон мантиссы и, если нужно, перенеси запятую с компенсацией порядка.
Ещё одна ошибка — считать, что компьютер точно хранит любое вещественное число. Так думают, потому что в обычной десятичной записи дробь может выглядеть короткой, однако в двоичной системе она иногда бесконечна. Проверка: вспомни, что разрядов памяти конечное число, и учитывай возможное округление результата.
Для нормализованной записи нужны знания о позиционной системе счисления: значение цифры зависит от её разряда, а степень основания определяет вес этого разряда. При переносе запятой важно также понимать, как работают степени и почему изменение мантиссы нужно компенсировать порядком. Знакомство с переводом чисел между системами счисления помогает увидеть, почему десятичная дробь может быть бесконечной в двоичной записи. Представление с плавающей запятой пригодится при изучении точности вычислений и причин погрешностей в программах.
Зачем записывать число в нормализованном виде?
Так большие и маленькие числа можно записывать компактно и по единому правилу. Нормализованный вид также позволяет сравнивать числа по порядку и мантиссе.
Как понять, каким должен быть знак порядка?
Если запятую переносили влево, порядок положительный: число исходно было большим. Если запятую переносили вправо, порядок отрицательный: исходное число было меньше единицы.
Чем мантисса отличается от порядка?
Мантисса содержит значащие цифры числа. Порядок показывает степень основания и тем самым задаёт масштаб числа.
Почему запятая в такой записи называется плавающей?
Положение запятой в обычной записи числа можно менять, перенося её в мантиссе и компенсируя перенос порядком. Поэтому одно и то же число можно представить с разным положением запятой, не меняя его значения.
Почему компьютер иногда хранит вещественное число приближённо?
Для числа выделено конечное количество разрядов, а некоторые значения требуют бесконечного числа цифр или слишком много разрядов. Компьютер сохраняет ближайшее представимое значение, поэтому возникает округление.
§ 9. Запись числа в нормализованном виде. Числа с плавающей запятой. Представление вещественных чисел в памяти компьютера