§29. Хранение в памяти вещественных чисел | Как кодируются в компьютерах вещественные числа? (курс pol 68 ч.) /informatika_10_68_pol/ (68 часов в уч. год)

Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, сокращенный курс, 2 часа в неделю)


Урок 23
Хранение в памяти целых и вещественных чисел
§26. Особенности представления чисел в компьютере. §27. Хранение в памяти целых чисел. §29. Хранение в памяти вещественных чисел



Содержание урока

§26. Особенности представления чисел в компьютере
§27. Хранение в памяти целых чисел
§29. Хранение в памяти вещественных чисел

Как кодируются в компьютерах вещественные числа?

Представление чисел с плавающей запятой

Два способа представления чисел с плавающей запятой

Вопросы и задания

Задачи


§29. Хранение в памяти вещественных чисел


Как кодируются в компьютерах вещественные числа?


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

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

Тем не менее работа с фиксированным размещением запятой не только показала недостатки метода, но и наметила путь их устранения. В самом деле, если наиболее сложным и трудоёмким местом является масштабирование данных, надо его автоматизировать. Иными словами, надо научить машину самостоятельно размещать запятую так, чтобы числа при счёте не выходили за разрядную сетку и по возможности сохранялись с максимальной точностью. Конечно, для этого нужно разрешить компьютеру «перемещать» запятую, а значит, дополнительно как-то сохранять в двоичном коде числа информацию о ее текущем положении. В этом и заключается главная идея представления чисел с плавающей запятой 1.


1 В англоязычных странах используется термин floating point — плавающая точка, поскольку в этих странах традиционно целая часть отделяется от дробной не запятой, как у нас, а точкой.




Следующая страница Представление чисел с плавающей запятой



Cкачать материалы урока







Наверх