- •1.1. Основные этапы создания программы
- •1.2. Алгоритмы
- •2.1. Структура типов в Turbo Pascal
- •Стандартные скалярные типы. Типы целых чисел
- •2.3. Операции побитовой обработки
- •2.4. Представление вещественных чисел в эвм
- •2.5. Символьный тип
- •2.6. Булевский тип
- •2.7. Перечисленный тип
- •2.8. Интервальный тип (диапазон)
- •3.1. Структура программы на turbo pascal
- •3.2. Основные операторы языка
- •3.2.1. Простые операторы
- •3.2.2. Операторы ввода-вывода
- •3.2.3. Структурные операторы
- •3.2.4. Условные операторы
- •3.2.5. Операторы повтора (цикла)
- •4.1. Массивы
- •4.2. Строковый тип
- •4.3. Множества
- •5.1. Процедуры и функции
- •5.2. Процедуры и функции пользователя
- •5.3. Передача параметров по значению и по ссылке
- •5.4. Рекурсивные процедуры и функции
- •6.1. Структура модулей
- •6.2. Компиляция и использование модулей
- •7.1. Записи
- •7.2. Вложенные записи
- •7.3. Записи с вариантами (вариантные записи)
- •7.4. Файлы
- •7.5. Подпрограммы для работы с файлами
- •7.5.1. Процедуры
- •7.5.2. Функции
- •7.6. Примеры программ для обработки файлов
- •7.7. Текстовые файлы
- •8.1. Структура оперативной памяти для программ на Turbo Pascal
- •8.2. Динамические структуры данных
- •8.3. Основные процедуры и функции для работы с динамическими переменными
- •8.4. Динамика выделения памяти в куче
- •8.5. Линейные списки. Способы создания и обработки
- •8.6. Нелинейные списки. Способы создания и обработки
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
2.4. Представление вещественных чисел в эвм
Все вещественные числа представляются в ЭВМ в нормализованном виде. Нормализованным называется число, целая часть которого состоит из одной, не равной нулю цифры. Дробная часть нормализованного числа называется мантиссой, а показатель степени, в которую возводится число при нормализации, называется порядком.
Примеры нормализованных чисел в десятичной системе счисления: 1235,6 → 1, 2356 *103; 0,0376 → 3,76 *10-2 .
Примеры нормализованных чисел в двоичной системе счисления: 111011,01 → 1, 1101101*10101; 0,001110 → 1, 11* 10-11. Основание системы счисления и порядок, в который она возводится, представлены в двоичной системе счисления.
Поскольку в старшем разряде нормализованного двоичного числа всегда стоит единица, то она не хранится
|
Имя |
Общий Размер (бит) |
Размер поля мантиссы (бит) |
Размер поля порядка (бит) |
Смещение порядка |
|
Single |
32 |
23 |
8 |
127 |
|
Real |
48 |
39 |
8 |
129 |
|
Double |
64 |
52 |
11 |
1023 |
|
Extended |
80 |
64 |
15 |
16383 |
Особое положение в Турбо Паскале занимает тип Comp, который трактуется как вещественное число без
экспоненциальной и дробной части. Это число можно
21
рассматривать
как “большое ” целое число со знаком,
имеющее
значащих цифр и занимающее во внутреннем
представлении
байт. В тоже время этот тип совместим
со всеми остальными вещественными
типами и для него справедливы все
вещественные операции. Областью
применения данного типа являются
бухгалтерские расчеты, где денежные
суммы выражаются в копейках и операции
над ними приводят к появлению достаточно
больших целых чисел.
Все вещественные числа, кроме Real, имеют следующую форму представления:
|
Знак |
Порядок |
Мантисса |
В
ячейках, отведенных под порядок,
размещается смещенный
порядок
;
-
порядок, а
-
смещение порядка. Введение смещенного
порядка позволяет не отводить места
под знак порядка, так как за счет
специально подобранного смещения
смещенный порядок всегда положителен.
Тип Real имеет другую форму представления:
|
Знак |
Мантисса |
Порядок |
Следует заметить, что тип Real оптимизирован для работы без математического сопроцессора. А поскольку все компьютеры, начиная примерно с 1993 года, имеют такой сопроцессор, то использование типа Real приведет к дополнительным затратам на преобразование этого типа к типу Extended. При разработке программ, критичных к времени выполнения, следует заменять тип Real на типы Double и Extended. В этом случае скорость вычислений возрастает в 2-3 раза.
22
Рассмотрим способ хранения числа 7,375 в переменной типа Single.
Переводим
вещественное число в двоичную систему
счисления:
→
.
Полученное двоичное представление
нормализуем:
→
.
Определим содержание поля смещенного
порядка
и заполним соответствующие поля:
Знак Порядок Мантисса
|
|
|
|
1 бит 8 бит 23 бита
