Раздел 3. Технические средства информационных технологий Лекция № 7. Представление чисел в эвм
1. Способы представления чисел.
2. Форматы представления чисел с фиксированной и плавающей
запятой.
Литература: 1. Основы вычислительной техники и программирование:
Учебник / Под ред. Ю.А.Бузунова.- М.: Воениздат, 1981.
2.Вычислительные машины, системы и сети: Учебник /
А.П.Пятибратов, С.Н.Беляев и др.; Под ред. проф. А.П.Пя-
тибратова. – М.: Финансы и статистика, 1991.
1 Способы представления чисел
В ЭВМ, обычно, используются только положительные числа. Это позволяет существенно упростить схемную реализацию арифметическо-логического устройства (АЛУ). Однако при этом возникает проблема кодирования отрицательных чисел.
В обычной практике, т. е. при ручном счете, на бумаге положительным числам приписывается знак « + », а отрицательным – знак « – ». В вычислительной технике для этих целей в разрядную сетку ЭВМ вводится специальный знаковый разряд, который занимает место перед числовыми разрядами (крайний слева). При этом для кодирования знака «плюс» в знаковый разряд помещается цифра «0», а знака «минус» – цифра «1». Знаковый разряд от числовых при записи числа на бумаге будем отделять точкой.
Таким образом, любое двоичное число может быть представлено в следующем виде:
Такое представление двоичного числа называется прямым кодом этого числа и обозначается [Х] ПК.
При условии, что | Х | < 1 (т. е. если кодируются только правильные дроби), прямой код числа можно представить следующим образом
Таким образом, положительная правильная дробь может приобретать значения в диапазоне от 0 до 1, а отрицательная – в диапазоне от 1 до 2. На рисунке 1 показана числовая прямая, на которой отображены диапазоны положительных и отрицательных чисел, используемых в ЭВМ в прямого коде, для случая, когда двоичные числа представляются в виде правильных дробей.
Рисунок 1 – Перенос отрицательного числа в область
положительных чисел
Пример.
Представить числа А(10) = 5 и В(10) = -11 в прямом двоичном коде:
А(2) = 101, [А]ПК = 0. 101;
В(2) = - 1011, [В]ПК = 1. 1011.
В памяти вычислительной машины положительные и отрицательные числа хранятся в прямом коде. В этом же коде выполняется сложение положительных чисел, перемножение модулей чисел и некоторые другие операции. Однако использование прямого кода для вычитания и деления двух чисел требует применения специальных устройств, что существенно усложняет АЛУ. С целью упрощения реализации арифметических операций, для алгебраического представления чисел (то есть для представления чисел с учетом их знака) применяют специальные коды. За счет этого облегчается определение знака результата операции, а операция вычитания числа заменяется на операцию сложения.
Такими специальными кодами являются обратный код числа и дополнительный код числа.
Примечание: Положительные числа в прямом, обратном и дополнительном кодах имеют одинаковую форму записи.
Переход от прямого кода к обратному для отрицательных чисел выполняется по правилу:
Чтобы представить отрицательное двоичное число в обратном коде, нужно оставить в знаковом разряде 1, а во всех значащих разрядах заменить 1 на 0, а 0 на 1. Такая операция называется инвертированием.
Это же правило справедливо и при переводе отрицательных чисел из обратного кода в прямой.
Пример:
Найти обратный код числа А = - 10110,1011.
А = - 10110,1011.
[A]ПК = 1.10110,1011,
[А]ОК = 1.01001,0100.
Пример:
Найти прямой код числа [A]ОК = 1.1011,011.
[A]ОК = 1.1011,011,
[А]ПК = 1.0100,100.
Примечание: В обратном коде отрицательного числа нули, записанные в конце числа (после запятой) и в начале числа (после единицы, отделенной точкой), отбрасывать нельзя.
Переход от прямого кода к дополнительному для отрицательных чисел может быть выполнен двумя способами:
Правило 1. Чтобы перевести отрицательное число из прямого кода в дополнительный, необходимо сначала получить обратный код этого числа, а затем прибавить единицу к младшему разряду (естественно, с учетом переносов между разрядами).
Это же правило справедливо и при переводе отрицательных чисел из дополнительного кода в прямой, то есть прямой код отрицательного числа получают путем образования дополнительного кода от дополнительного (получают обратный код числа и к нему прибавляют единицу младшего разряда).
Правило 2. Чтобы перевести отрицательное число из прямого кода в дополнительный, необходимо оставить в знаковом разряде 1, а во всех значащих разрядах (слева направо) заменить 1 на 0, а 0 на 1, за исключением последней единицы и следующих за ней нулей.
Пример:
Перевести число А = - 11,011 в дополнительный код.
[А]ПК = 1.11,011, [А]ОК = 1.00,100
+ 1
[А]ДК = 1.00,101
Пример:
Перевести число А = - 100 11,101 в дополнительный код.
[А]ПК = 1.100 11,101
[А]ДК = 1. 01100,011
Пример: Перевести число А = 1.11011,101 из дополнительного кода в
прямой.
[А]ДК = 1.11011,101
[А]ПК = 1.00100,011