Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Модифицированные обратный и дополнительный коды.




Представление информации в ЭВМ.

Единицы измерения информации.

Теперь мы знаем электронные устройства, которые используются в ЭВМ. Эти устройства работают с сигналами, которые могут быть представлены в виде двоичных чисел, т.е. 0 и 1.

Выше были определены понятия: «бит», «байт» и «машинное слово». В ЭВМ также пользуется следующими понятиями (Табл. 2.18.):

Таблица 2.18. Таблица единиц измерения информации.

Название Символ Значение Степень
Бит bit Наименьшая возможная единица измерения информации в вычислительной технике. Принимает значения: 0 или 1. Передается различными уровнями напряжения либо тока  
Байт B Минимально адресуемая последовательность фиксированного числа битов. В описании сетевых протоколов, может использоваться термин «октет». 1B = 8 bit  
Килобайт KB 1KB = 1024B 103
Мегабайт MB 1MB = 1024KB 106
Гигабайт GB 1GB = 1024MB 109
Терабайт TB 1TB = 1024GB 1012
Петабайт PB 1PB = 1024TB 1015

 

Коды чисел.

В параграфе 2.3. рассматривались правила арифметических действий. В ЭВМ в целях упрощения выполнения арифметических операций применяют специальные коды для представления чисел. Использование кодов позволяет свести операцию вычитания чисел к арифметическому сложению кодов этих чисел. Рассмотрим следующие коды чисел:

· прямой;

· обратный;

· дополнительный;

· модифицированный код.

Прямой код: используется для представления отрицательных чисел в запоминающем устройстве ЭВМ, а также при умножении и делении.

Обратный и дополнительный коды: используются для замены операции вычитания операцией сложения, что упрощает устройство арифметического блока ЭВМ.

Предположим, что длина кода не больше 1 байта.

К кодам выдвигаются следующие требования:

· разряды числа в коде жестко связаны с разрядами байта.

· для записи кода знака в байте отводится фиксированный, строго определенный разряд.

Поэтому, в байте (Рис. 2.35) для представления числа будет отведено 7 разрядов (0 – 6), а для записи кода знака один разряд (7).

Рис. 2.35

Знак Значение кода
               
               

Прямой код.

Прямой код двоичного числа совпадает по изображению с записью самого числа. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1 (Табл.2.19).

Таблица 2.19. Примеры прямого кода.

Знак Значение кода Примечание
                Число +10101
                Число +11101
                Число +1010101
                Число -1110
                Число -1101110
                Число -1111111


Обратный код.

Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица (Табл.2.20).

Таблица 2.20. Примеры обратного кода.

Знак Значение кода Примечание
                Число +10101
                Число +11101
                Число +1010101
                Число -1110
                Число -1101110
                Число -1111111

Дополнительный код.

Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы (Табл.2.21).

Таблица 2.21. Примеры дополнительного кода.

Знак Значение кода Примечание
                Число +10101
                Число +11101
                Число +1010101
                Число -1110
                Число -1101110
                Число -1111111

Сложение чисел в кодах.

При сложении чисел в кодах возникающая единица переноса из седьмого бита в знаковый бит отбрасывается (Табл.2.22).

Пример.

A = +1010101

B = +1011101

A + B = 1010101 + 1011101

Таблица 2.22. Пример сложения положительных чисел.

  Знак Значение кода Примечание
                  A
+                 B
=                 A + B. Единица переноса из седьмого бита в знаковый бит отбрасывается

Рассмотрим правила записи в знаковом бите.

При сложении чисел в обратном коде возникающая единица переноса в знаковом бите прибавляется к младшему разряду суммы кодов.

Если результат арифметических действий является кодом отрицательного числа, необходимо преобразовать его в прямой код. При этом обратный код преобразуется в прямой заменой цифр во всех разрядах, кроме знакового, на противоположные (Табл.2.23 - Табл.2.24).

Пример.

A = -1010101;

B = +1011101

Таблица 2.23. Пример сложения чисел в обратном коде, с положительной суммой.

  Знак Значение кода Примечание
                  Обратный код для A
+                 Обратный код для B
                  В знаковом бите появилась единица переноса
                1+1 Единица переноса в знаковом бите прибавлена к значению младшего бита.
=                 A + B = 1000 – положительная сумма

Пример.

A = +1010101;

B = -1011101

Таблица 2.24. Пример сложения чисел в обратном коде, с отрицательной суммой.

  Знак Значение кода Примечание
                  Обратный код для A
+                 Обратный код для B
                  Отрицательное число. Переводим в прямой код.
=                 A + B = -1000 – отрицательная сумма

 

При сложении чисел в дополнительном коде возникающая единица переноса в знаковом бите отбрасывается.

Дополнительный код преобразуется в прямой также, как и обратный, с последующим прибавлением единицы к младшему разряду (Табл.2.25 - Табл.2.26).

Пример.

A = -1010101;

B = +1011101

Таблица 2.25. Пример сложения чисел в дополнительном коде, с положительной суммой.

  Знак Значение кода Примечание
                  Дополнительный код для A
+                 Дополнительный код для B
                  В знаковом бите появилась единица переноса. Она отбрасывается
=                 A + B = 1000 – положительная сумма

 

Пример.

A = +1010101;

B = -1011101

Таблица 2.26. Пример сложения чисел в дополнительном коде, с отрицательной суммой.

  Знак Значение кода Примечание
                  Дополнительный код для A
+                 Дополнительный код для B
                  Отрицательное число. Переводим в прямой код.
                  Единицу прибавляем к значению младшего бита.
=                 A + B = -1000 – отрицательная сумма

Модифицированные обратный и дополнительный коды.

Ранее говорилось, что из седьмого бита, может происходить перенос единицы в знаковый разряд. Это приводит к неправильному результату.

Для обнаружения такого случая вводятся модифицированные коды. Для них к байту добавляют еще один бит для знака.

В модифицированном обратном и модифицированном дополнительном кодах под знак числа отводится не один, а два бита:

· "00" соответствует знаку "+";

· "11" - знаку "-".

Любая другая комбинация ("01" или "10"), получившаяся в знаковых разрядах служит признаком переполнения разрядной сетки.

Сложение чисел в модифицированных кодах ничем не отличается от сложения в обычных обратном и дополнительном кодах.

Рассмотрим сложение чисел в модифицированных кодах (Табл.2.27 - Табл.2.31), используя данные предыдущих примеров.

Пример.

A = +1010101

B = +1011101

A + B = 1010101 + 1011101

Таблица 2.27. Пример сложения положительных чисел в модифицированных кодах с переполнением

  Знак Значение кода Примечание
                    А
+                   В
=                   Переполнение

 

Пример.

A = -1010101;

B = +1011101

Таблица 2.28. Пример сложения чисел в модифицированных кодах в обратном коде, с положительной суммой.

  Знак Значение кода Примечание
                    Обратный код для A
+                   Обратный код для B
                    В знаковом бите появилась единица переноса
                  1+1 Единица переноса в знаковом бите прибавлена к значению младшего бита.
=                   A + B = 1000 – положительная сумма

Пример.

A = +1010101;

B = -1011101

Таблица 2.29. Пример сложения чисел в модифицированных кодах в обратном коде, с отрицательной суммой

  Знак Значение кода Примечание
                    Обратный код для A
+                   Обратный код для B
                    Отрицательное число. Переводим в прямой код.
=                   A + B = -1000 – отрицательная сумма

 

Пример.

A = -1010101;

B = +1011101

Таблица 2.30. Пример сложения чисел в модифицированных кодах в дополнительном коде, с положительной суммой.

  Знак Значение кода Примечание
                    Дополнительный код для A
+                   Дополнительный код для B
                    В знаковом бите появилась единица переноса. Она отбрасывается
=                   A + B = 1000 – положительная сумма

 

Пример.

A = +1010101;

B = -1011101

Таблица 2.31. Пример сложения чисел в модифицированных кодах в дополнительном коде, с отрицательной суммой

  Знак Значение кода Примечание
                    Дополнительный код для A
+                   Дополнительный код для B
                    Отрицательное число. Переводим в прямой код.
                    Единицу прибавляем к значению младшего бита.
=                   A + B = -1000 – отрицательная сумма




Поделиться с друзьями:


Дата добавления: 2017-02-24; Мы поможем в написании ваших работ!; просмотров: 616 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Не будет большим злом, если студент впадет в заблуждение; если же ошибаются великие умы, мир дорого оплачивает их ошибки. © Никола Тесла
==> читать все изречения...

2539 - | 2234 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.