Лекция 3. Кодирование информации в ЭВМ:

advertisement
Лекция 3. Кодирование
информации в ЭВМ:
1)Представление чисел в разрядной сетки в
форме с фиксированной запятой, с плавающей
запятой.
2)Кодирование чисел. Прямой, обратный и
дополнительные коды
Представление чисел в разрядной сетки в форме с
фиксированной запятой, с плавающей запятой.
При выполнении вычислений на бумаге количество разрядов в
числах не ограничивается. Иначе происходит при расчетах на ЭВМ,
поскольку в них для размещения чисел отводится некоторое
ограниченное число разрядов, получившее название "разрядная
сетка".
Условно разрядную сетку можно представить в виде заданного числа
квадратов, в каждом из которых записана двоичная цифра 1 или 0
(рис. 1).
Вырабатываются эти уровни напряжений двухпозиционными электронными
элементами, входящими в те или иные устройства ЭВМ. Наиболее часто
для этой цели используются триггеры. Условное графическое обозначение
одного из триггеров, используемых для представления двоичных цифр,
приведено на рис 3
Представление целых двоичных чисел
При обработке данных в ЭВМ различают следующие типы целых
чисел: целые числа со знаком и без знака. Форматы для
представления таких чисел, показаны на рис. 4.
Разрядная сетка для представления n-разрядных целых чисел со знаком
представлена на рис. 5. Коэффициенты ai (i = 0, 1, 2,…, n-1) – это цифры
двоичной системы счисления, стоящие при соответствующих степенях
основания этой системы счисления. Для представления знака числа
используется дополнительный, обычно крайний слева, знаковый разряд зн, в
котором знак " + " изображается цифрой "0", а знак " - " цифрой "1". Положение
точки мысленно фиксируется справа от младшего разряда a0.
В новейших микропроцессорах РС (начиная с Pentium 3 и выше) имеется
устройство для выполнения целочисленных операций над двоичными и
двоично-десятичными числами. В этом устройстве предусмотрены
следующие форматы целых двоичных чисел (табл. 1).
Формат
Размер (бит)
Диапазон значений
Байт без знака
8
- от 0 до 255
Байт со знаком
8
- от –128 до +127
Слово без знака
16
- от 0 до 65535
Слово со знаком
16
- от –32768 до +32767
Удвоенное слово без знака
32
- от 0 до 232-1
Удвоенное слово со знаком
32
- от –231 до +232 - 1
Представление целых десятичных чисел
Десятичные числа представляются в двоично-десятичном коде (BCD – Binary
Coded Decimal). BCD-числа могут храниться в двух форматах (рис. 6):
-упакованный формат (каждый байт содержит две десятичные цифры в
диапазоне от 0 до 9);
-неупакованный формат (каждый байт содержит одну десятичную цифру).
Кодирование чисел. Прямой, обратный
и дополнительные коды
Код отрицательной мантиссы
Код положительного порядка
(-)
(+)
1 1 1
0 1 0 1
место точки
… 0 1
0 1 1
0 1 0 1
место точки
… 1 0
1. В случае правильных дробей разряд целой части, стоящий слева от
точки и равный нулю, отбрасывается. На его месте располагается код
знака "+", тоже равный нулю. Все остальные разряды дроби
записываются без изменения.
Пример 1. Записать число X = + 0.110111 в прямом, обратном и
дополнительном кодах.
Действуя согласно правилу, получим:
[X]пр = [X]обр = [X]доп = 0 110111.
2. В случае целых чисел перед старшим разрядом числа вместо знака
"+" ставится его код, равный нулю. Остальные разряды целого числа
переписываются без изменения.
Пример 2. Записать целое число Y = +101011 в прямом, обратном и
дополнительном кодах.
Действуя согласно правилу, получим:
[Y]пр = [Y]обр= [Y]доп = 0 101011.
1. Для записи прямого кода отрицательной дроби необходимо отбросить
разряд целых, равный нулю. Вместо разряда целых, стоящего слева от
точки, поставить код знака "-", равный единице. Остальные разряды
дроби переписать без изменения.
Пример 3. Записать дробное число X = - 0,101010 в прямом коде.
Действуя согласно правилу, получим:
[X]пр = 1 101010.
Для записи прямого кода целого отрицательного числа необходимо
вместо знака числа "-" поставить единицу. Остальные разряды целого
числа переписать без изменения.
Пример 4. Записать целое число Y = - 110111 в прямом коде.
Действуя согласно правилу, получим:
[Y]пр = 1 110111.
Прямой код используется при хранении чисел в ЭВМ, а также при
выполнении арифметических действий с положительными числами
2. Для записи обратного кода отрицательной дроби необходимо вместо нуля в
разряде целых, стоящего слева от запятой, поставить код знака "-", равный
единице. Остальные разряды дроби инвертируются, т. е. единицы
заменяются нулями, а нули - единицами.
Пример 5. Записать число X = - 0,101110 в обратном коде.
Действуя согласно правилу, получим:
[X]обр = 1 010001.
Для записи обратного кода целого отрицательного числа необходимо вместо
знака числа "-" поставить единицу. Остальные разряды целого числа
проинвертировать.
Пример 6. Записать число Y = - 110111 в обратном коде.
Действуя согласно правилу, получим:
[Y]обр = 1 001000.
Для получения дополнительного кода отрицательной дроби или целого числа
необходимо:
записать обратный код дроби или целого числа;
затем, добавить к младшему разряду обратного кода единицу.
Пример 7. Записать число X = - 0,101110 в дополнительном коде.
Для решения этой задачи образуем сначала обратный код числа X
[X]обр = 1 010001,
а затем к младшему разряду обратного кода добавим единицу
[X]доп = 1 010001
Пример 8. Записать дополнительный код числа Y = - 110111.
Действуя аналогично, получим дополнительный код целого числа, а затем,
добавляя к младшему разряду обратного кода единицу, получим дополнительный
код числа Y.
Литература
1) Основы вычислительной техники: Учебное пособие/ Д.П. Гонтов,
К.Г. Кречетников и др: Владивосток: ТОВВМУ, 1996.
2) Каган Б.М. Электронные вычислительные машины и системы:
Учебное пособие для вузов. – М.: Энергоатомиздат,
3) Калиш Г.Г. Основы вычислительной техники. Учеб. пособ. для
средн. проф. учебных заведений. – М.: Высш. Шк., 2000.
4) Евреинов Э. В. Цифровая и вычислительная техника. – М.:
Энергоатомиздат, 1991.
5) Цифровые устройства и микропроцессоры. Сборник заданий для
лабораторных работ/ А. А. Гайзюмов, Д. П. Гонтов, А. Н. Карелин и
др.: Владивосток: ТОВМИ, 1999.
Download