- •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 бита