Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Организация ЭВМ и систем. Учебное пособие
.pdf
4.3 Формы представления чисел в памяти ЭВМ
В ЭВМ применяют две формы представления чисел:
с фиксированной точкой (естественная форма);
с плавающей точкой (полулогарифмическая форма).
Формы представления чисел в ЭВМ приведены на рисунке 4.5 [6].
Рисунок 4.5 – Формы представления чисел
4.4 Представление целых чисел в памяти ЭВМ
Целые числа, как положительные, так и отрицательные, в памяти компьютера
представляются с использованием двоичных кодов с фиксированной точкой. В зави-
симости от типа компьютера и необходимого диапазона представления чисел, они
могут занимать либо два, либо четыре байта.
При размещении в 2 байтах целое число может принимать значения в диапа-
зоне -32768 ... 32767.
При размещении в 4 байтах диапазоном представления целых чисел составля-
ет -2147483648 ... 2147483647.
Используют два варианта представления целых чисел: со знаком и без знака. В
последнем случае все разряды разрядной сетки служат для представления модуля
числа.
61

Формат двоичного числа с фиксированной точкой со знаком при представле-
Знак
числа
Разряды числа
15
14
13
12
11
10 9 8 7 6 5 4 3 2 1 0
Старший байт
Младший байт
Знак
числа
Модуль числа
0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
1
нии его в двух байтах имеет следующий вид (рисунок 4.6).
Рисунок 4.6 – Формат двоичного числа с фиксированной точкой со знаком
Таким образом, старший разряд старшего байта содержит знак числа (0 – чис-
ло положительное, 1 – отрицательное), а оставшиеся пятнадцать разрядов модуль
числа. Представление целого числа в четырех байтах выглядит аналогичным обра-
зом, т.е. старший разряд старшего байта так же содержит код знака, а оставшийся 31
разряд содержат модуль числа. Таким образом, например, число 131, представлен-
ное как двоичное с фиксированной точкой в 16 разрядах, будут иметь следующий
вид: 131
=10000011
(10)
(рисунок 4.7).
(2)
Рисунок 4.7 – Представление числа 131 в формате с фиксированной точкой со
знаком.
Используя шестнадцатеричную или восьмеричную форму записи, число 131
примет вид:
в 16 с/с – 0083;
в 8 с/с – 000203.
В отличие от положительных чисел, представляемых в прямом коде, отрица-
тельные числа в памяти ЭВМ представляются в дополнительном коде.
62

В качестве примера рассмотрим представление числа -131 в виде двоичного с
фиксированной точкой в дополнительном коде. Двоичный код модуля числа –
10000011
будет иметь вид: 1000 0000 1000 0011
ло 1111 1111 0111 1100. Добавим двоичную единицу: 1111 1111 0111 1101
. При представлении в шестнадцати двоичных разрядах прямой код числа
(2)
Сделаем инверсию, получим двоичное чис-
(2).
(2).
Окончательно, использовав 8 с/с или 16 с/с будем соответственно иметь:
177575
или FF7D
(8)
(16).
Учитывая то, что при сложении в дополнительных кодах перенос из знакового
разряда не учитывается, получаем 0. Таким образом, применение дополнительных
кодов позволяет для выполнения операций сложения и вычитания использовать од-
но устройство (сумматор), но оперируя с дополнительными кодами чисел.
4.5 Представление действительных чисел в памяти ЭВМ
Внутреннее представление действительных чисел в памяти компьютера вы-
полняется в формате с плавающей точкой и занимает, как минимум, четыре байта.
Структура внутреннего представления числа с плавающей точкой может варьиро-
ваться в зависимости от типа компьютера и необходимой точности. В любом случае,
внутреннее представление числа с плавающей точкой включает три поля: поле кода
знака (0 – плюс, 1 – минус), поле характеристики, которое представляет собой преобразованный порядок числа, и поле мантиссы [8].
В общем случае, представление числа с плавающей точкой имеет вид
,
где q – мантисса числа x;
– характеристика числа x;
– основание характеристики;
p – порядок.
Мантисса, представляющая дробную часть числа с соответствующим знаком,
и порядок, представленный как целое число с также соответствующим знаком, зако-
63

дированы в системе счисления с базой s (в соответствующей двоичной форме). Знак
числа совпадает со знаком мантиссы.
Значение порядка p может быть как положительным, так и отрицательным це-
лым числом. Он определяет, на сколько позиций необходимо сдвинуть запятую в
нормализованном числе вправо (если порядок положительный) или влево (если по-
рядок отрицательный).
Рассмотрим, каким образом кодируются эти поля для различных типов ЭВМ.
4.5.1 Представление чисел в формате с плавающей точкой в ЕС ЭВМ:
старший бит старшего байта числа – код знака;
оставшиеся семь битов старшего байта – характеристика числа. Поскольку с
помощью семи разрядов можно представить число в диапазоне 0...127, то для пред-
ставления дробей значение характеристики «смещается» на 64, т.е. представляет со-
бой значение порядка плюс 64;
оставшиеся три байта (24 двоичных разряда) занимает мантисса числа.
Мантисса числа хранится в нормализованном виде, таким образом, чтобы точка
располагалась перед первой значащей цифрой числа. Формат чисел с плавающей
точкой в больших ЭВМ (майнфреймах) показан на рисунке 4.8.
Рисунок 4.8 – Представление чисел с плавающей точкой в больших ЭВМ
Например, пусть имеется число 47.195
внутри машинное представление.
Рассмотрим его преобразование во
(10).
64

Прежде всего, переведем число в 16 с/с, получим 2F.31Е
с/с с точностью до
(16)
третьей шестнадцатеричной цифры после точки.
Теперь сдвинем точку так, чтобы она располагалась перед первой значащей
цифрой числа, одновременно соответствующим образом изменим порядок, получим
0.2F31E*162, т.е. порядок числа 2 – мантисса 0.2F31E
(16).
Характеристику вычислим, как 2 + 64 = 66. Число положительно, т.е. в знако-
вом разряде будет находиться 0.
С учетом сказанного старший байт (знак и характеристика) будет иметь вид:
01000010
или 42
(2)
(16).
Мантисса будет располагаться в следующих трех байтах, поэтому окончатель-
но получим внутреннее представление числа в виде: 422F31E0
Внутреннее представление числа -47.195
будет отличаться только старшим
(10)
(16).
битом старшего байта, установленном в 1. Тогда старший байт числа будет иметь
вид: 11000010
= С2
(2)
а все число – С2 2F 31E0
(16),
(16).
4.5.2 Представление действительных чисел для ЭВМ семейства PDP:
старший бит старшего байта – код знака числа;
следующие семь битов старшего байта и один бит следующего за ним байта
(всего восемь битов) - характеристика. В данном случае характеристика представля-
ет собой порядок двоичного представления числа, сдвинутый на 128
(т.е. порядок
(10)
двоичного числа + 128);
следующие двадцать три двоичных разряда хранят мантиссу числа. Мантис-
са числа храниться в нормализованном виде, при этом точка располагается перед
первой значащей двоичной цифрой мантиссы. Поскольку предполагается, что после
точки всегда имеется двоичная единица, то эта двоичная единица во внутреннем
представлении числа не храниться (!) (так называемый «скрытый» бит). Общая
форма записи числа в 32 и 64 битах показана на рисунке 4.9.
65

Рисунок 4.9 – Общая форма записи числа в 32 и 64 битах
В качестве примера рассмотрим внутреннее представление числа 154.45
Сначала преобразуем число в двоичную форму, получим: 154.45
10011010.011100
(2).
(10).
(10)
=
В двоичном представлении числа сдвинем точку так, чтобы она располагалась
перед первой двоичной цифрой мантиссы, одновременно скорректируем порядок:
10011010.0111
=0.100110100111
(2)
× 28.
(2)
Вычислим характеристику: 128 + 8=136. С учетом знака числа первый байт в
комбинации со старшим битом следующего байта (знак и характеристика) будут
иметь вид: 010001000
(2).
Далее добавляются двадцать три двоичных разряда мантиссы, причем первая
двоичная цифра «скрывается», так, что первые, например, семь разрядов мантиссы
будут иметь вид: 0011010...
(2).
Все число, записанное в 8 с/с (8 с/с является традиционной для мини- и микро-
ЭВМ семейства PDP), будет выглядеть следующим образом: 10406470000
Отрицательной число, т.е. -154.45
во внутреннем представлении будет от-
(10)
(8).
личаться только старшим битом старшего байта и будет иметь вид: 30406470000
(8).
66

4.5.3 Представление действительных чисел в формате IBM РС – совместимых
персональных компьютеров.
Внутреннее представление числа в формате с плавающей точкой для данного
класса машин напоминает внутреннее представление числа для машин семейства
PDP:
старший бит старшего байта – код знака числа (0 – положительное, 1 – от-
рицательное);
следующие семь битов старшего байта и один бит следующего за ним байта
(всего восемь битов) – характеристика. В данном случае характеристика представ-
ляет собой порядок двоичного представления числа, сдвинутый на 128
(т.е. поря-
(10)
док двоичного числа +128);
следующие двадцать три двоичных разряда хранят мантиссу числа. Мантис-
са числа храниться в нормализованном виде, при этом точка располагается после
второй значащей двоичной цифры мантиссы. Поскольку первой значащей двоичной
цифрой числа всегда является единица, то во внутреннем представлении числа она
не хранится, но при операциях с числом учитывается (так называемый “скрытый”
бит).
Рассмотрим, например, преобразование во внутреннее представление числа
76.625
(10).
Преобразуем число в двоичную с/с, получим: 76.625
= 1001100.101
(10)
(2).
Теперь сдвинем точку так, чтобы она оказалась после второй двоичной цифры
числа, одновременно при этом модифицируем порядок. После этой операции будем
иметь 1001100.101
=10.01100101
(2)
(2)
2
5
.
Вычислим характеристику числа: 5 + 128 = 133. Первые девять битов числа
(знак и характеристика) будут следующими: 010000101
(2).
С учетом скрытой единицы мантисса будут иметь вид:
00110010100000000000000
(2).
Общее представление числа, записанное с использованием 16 с/с примет вид:
42994000
(16).
67

Представление отрицательного числа будет отличаться от представления по-
ложительного числа только старшим битом старшего байта, установленным в еди-
ницу, и для числа -76.625 будет иметь вид: С2994000
(16)
.
4.6 Вопросы для закрепления материала по четвертому разделу
1. Машинные коды для представления чисел.
2. Признаки переполнения разрядной сетки при сложении в обратном и до-
полнительном кодах.
3. Признаки переполнения разрядной сетки при сложении в смещенных кодах.
4. Формы представление чисел в памяти ЭВМ.
5. Представление отрицательных чисел в формате с фиксированной точкой.
6. Представление чисел в формате с плавающей точкой.
7. Представление чисел в формате с плавающей точкой в ЕС ЭВМ.
8. Представление чисел в формате с плавающей точкой для ЭВМ семейства
PDP.
9. Представление действительных чисел в формате IBM РС - совместимых
персональных компьютеров.
68

5 Логические основы ЭВМ
5.1 Основные положения теории булевых функций
Центральное устройство, известное как процессор, проводит арифметические
и логические манипуляции с двоичными кодами. Следовательно, необходимо по-
знакомиться с основными логическими функциями и элементами, на которых основано его функционирование. Для начала рассмотрим алгебру логики.
Алгебра логики представляет собой формальную систему, которая позволяет
выполнять операции над высказываниями. Высказывание – это предложение, каса-
тельно которого имеет смысл говорить истинно оно или ложно. Эти высказывания
могут быть представлены с помощью различных символов.
Термин «алгебра логики» также известен как «алгебра Буля» или «булева ал-
гебра», и он происходит от имени английского математика Джорджа Буля, который
разработал основные принципы этой алгебры в XIX веке. В булевой алгебре для
обозначения высказываний принято использовать прописные латинские буквы, та-
кие как A, B, X, Y. В этой алгебре существуют три основные логические операции:
сложение, умножение и отрицание. Существуют аксиомы (законы), регулирующие
выполнение этих операций. Действия, проводимые с высказываниями, записывают-
ся в виде логических выражений.
Рассмотрим важнейшие тождества алгебры логики, представленные в таблице
5.1 [7].
Если некоторая логическая функция тождественно равна единице, то она
называется тавтологией. Если нулю - противоречием.
Алгебра логики рассматривает высказывания с точки зрения их истинности
или ложности, а не с точки зрения их содержания. Следовательно, высказывание
может принимать только два значения: ИСТИНА (1) или ЛОЖЬ (0).
Логические выражения могут быть либо простыми, либо сложными. Простое
логическое выражение состоит из одного высказывания и не включает логических
операций. В результате простого логического выражения может быть получено
только два значения: «истина» или «ложь». Сложное логическое выражение вклю-
чает в себя несколько высказываний, объединенных логическими операциями. Ана-
69

логично функциям в алгебре, сложное логическое выражение имеет аргументы, ко-
торыми являются высказывания.
Таблица 5.1 – Важнейшие тождества алгебры логики
В контексте сложных логических выражений, основными логическими опера-
циями, которые применяются, являются следующие: НЕ (логическое отрицание, ин-
версия); ИЛИ (логическое сложение, дизъюнкция); И (логическое умножение,
конъюнкция).
Операция логического отрицания является одноместной операцией, так как
она применяется к одному высказыванию. Операции логического сложения и логи-
ческого умножения являются двуместными операциями, поскольку они включают
два высказывания. Существуют и другие логические операции, такие как операции
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
