Действия с кодами в шестнадцатеричной системе счисления

При сложении дополнении результат может быть получен в прямом или дополнительном коде. Признаком результата в прямом коде является наличие единицы переноса из старших складываемых разрядов. Если перенос ив этих разрядов отсутствует, то результат получен в форме дополнения. И для получения истинного ответа нужно взять дополнение от полученного дополнительного кода и присвоить числу знак «-».

Например, произвести операцию:

(-А8416) + (А3816)

Согласно таблицы сложения шестнадцатеричных чисел результат операции равен - 04C16.

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

Дополнительный код числа -А8416:

- FFFF

Действия с кодами в шестнадцатеричной системе счисления - student2.ru А84 исходное число

+ F57B обратный код числа

Действия с кодами в шестнадцатеричной системе счисления - student2.ru 1

F57C дополнительный код числа

Прямой код второго числа 0А3816.

В результате суммирования кода перенос ив старших складываемых разрядов не образуется:

F57C16 + 0А3816 = FFB416

Результат получен в дополнительном коде.

Истинный ответ:

FFFF

Действия с кодами в шестнадцатеричной системе счисления - student2.ru - FFB4

004B

Действия с кодами в шестнадцатеричной системе счисления - student2.ru + 004C -04C16

Произведем операцию

(-А3816) * (А8416)

Согласно таблице сложения результат равен +04C16.

Выполним данную операцию, используя коды. Дополнительный код числа (-А3816);

- FFFF

Действия с кодами в шестнадцатеричной системе счисления - student2.ru А38 исходное число

+F5C7 обратный код числа

Действия с кодами в шестнадцатеричной системе счисления - student2.ru F578 дополнительный код числа

Прямой код второго числа 0А8416

Сумма кодов равна

+ F5C8

Действия с кодами в шестнадцатеричной системе счисления - student2.ru 0А64

1004С

Перенос из старших складываемых разрядов образуется, поэтому истинный ответ равен + 04С16.

Задание 15.Найдите правильный ответ, определив дополнительный код шестнадцатеричного числа.

1. -А916

а) 5416,

б) 5616,

в) 5716,

г) 6016,

д) 6616.

2. -3ВСЕ16

а) 1243116,

б) D43116,

в) 1243216,

г) С43216,

д) С43116,

3. -365В16

а) С90516,

б) С9А316,

в) С9А416,

г) С9А516,

д) D9А416.

4. -6А8716

а) 957716,

б) 957816,

в) 957916,

г) 967916,<

д) 967816.

2.3.3. Действия с кодами в двоичной системе счисления

При выполнении арифметических операций могут сформироваться результаты, которые переполняют разрядную сетку. При сложении двоичных кодов чисел переполнение возникает, если переносы из первого разряда в нулевой и из нулевого разряда за пределы разрядной сетки не согласуются. Если возникает перенос только из первого разряда в нулевой, то фиксируется переполнение при сложении положительных чисел. Если возникает перенос из нулевого разряда за пределы разрядной сетки, то фиксируется отрицательное переполнение. Если переносы из указанных разрядов одновременно присутствуют или отсутствуют, то операция завершается нормально.

Например,

1.+ 0. 0000001

Действия с кодами в шестнадцатеричной системе счисления - student2.ru 0. 1111111

1. 0000000

Действия с кодами в шестнадцатеричной системе счисления - student2.ru положительное переполнение

2. + 1. 0000000

1. 1111111

Действия с кодами в шестнадцатеричной системе счисления - student2.ru Действия с кодами в шестнадцатеричной системе счисления - student2.ru 1. 01111111

отрицательное переполнение

3. + 0. 1110001

1. 1111111

Действия с кодами в шестнадцатеричной системе счисления - student2.ru .0. 11110000

Действия с кодами в шестнадцатеричной системе счисления - student2.ru Действия с кодами в шестнадцатеричной системе счисления - student2.ru операция завершилась нормально

Примеры:

1. Сложить числа в двоичной системе счисления:

(-l0001012) + (100001l2)

По правилу вычитания двоичных чисел результат операции равен 00000102.

Выполним эту же операцию, используя дополнительный код для отрицательных чисел:

-1. 1111111

Действия с кодами в шестнадцатеричной системе счисления - student2.ru 1. 1000101 прямой код числа 10001012

0. 0111011 дополнительный код числа

и прямой код для второго, положительного числа 0 10000112.

Заменим операцию сложения отрицательных чисел операцией сложения кодов:

+ 0. 0111011

0. 1000011

Действия с кодами в шестнадцатеричной системе счисления - student2.ru 0. 1111110

Результат получен в дополнительном коде, так как не произошло переноса единицы из старших разрядов. Истинный ответ примера:

- 1 1111111

0 1111110

Действия с кодами в шестнадцатеричной системе счисления - student2.ru 1 0000001

Действия с кодами в шестнадцатеричной системе счисления - student2.ru + 1

1 Действия с кодами в шестнадцатеричной системе счисления - student2.ru 0000010 - 00000102

2. Произвести операцию (0001012) + (- l0000112).

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

- 1. 1111111

1. 1000011 прямой код числа - 00000102

Действия с кодами в шестнадцатеричной системе счисления - student2.ru + 0. 0111100

Действия с кодами в шестнадцатеричной системе счисления - student2.ru 1

0. 0111101 дополнительный код числа

+ 0. 1000101 прямой код числа 100001012

Действия с кодами в шестнадцатеричной системе счисления - student2.ru 0. 0111101

1. 0000010

Результат получен в прямом коде, так как произошел перенос единицы из старших разрядов. Ответ операции: 00000102

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

Обратный код числа образуется путем замены единиц числа на нули, а нулей – на единицы. Используется при замене вычитания операцией сложения. Дополнительный код числа определяется следующим образом: к обратному коду числа прибавляется единица к младшему разряду.

Рассмотрим тот же пример формирования дополнительного кода для числа 00001012:

прямой код числа 0. 0000101

обратный код числа 0. 1111010

дополнительный код числа 0. 1111011

Таким образом, используя разные способы формирования дополнительного кода числа, получается одинаковый результат.

Наибольший прямой код числа в 16-разрядной сетке равен
0 1111111111111112 = 7 FFF16. Наибольший по абсолютному значению дополнительный код равен 1 000 0000 0000 00002 = 800016.

Это соответствует диапазону изменения десятичных чисел -32 768 ≤ x ≤ 370767.

Задание 16.Найдите правильный ответ, определив дополнительный код двоичного числа.

1. - 0110101112

а) 0.1001010002,

б) 0.0110101102,

в) 1.1001010012,

г)1.0110101112,

д) 1.1001010002.

1. - 01010102

а) 1.10101012,

б) 0.10101102,

в) 1.01010112,

г) 0.10101012,

д) 1.10101102.

2. - 00011110012

а) 1.11100001112,

б) 1.00011110002,

в) 1.00011111102,

г) 0.11100001112,

д) 1.1110001102.

4. -11011011002

а) 1.00100101002,

б) 0.00100100112,

в) 0.00100101002,

г) 1.11011011012,

д) 1.00100100112.

5. - 0,111001110012

а) 1,000110001102,

б) 1,000110001112,

в) 0,000110001112,

г) 0,111001110102,

д) 1,111001111112.

Задания для самостоятельно выполнения

Задание 17.Выполните сложение двоичных чисел.

0101112 + 1001002 1110012 + 1110002 1000102 + 1110112 110011112 + 110000112 101101112 + 10111102 10101,112 + 10011,012 101111,1012 + 1100001,1112 10111001,1112 + 11101001,00102 100001111,11012 + 11110011,10012 11110111,10112 + 100111011,01012

Задание 18. Выполните вычитание двоичных чисел.

10110102 - 110002 10000012 - 101112 1011010102 - 111012 110010002 - 11011112 100010002 - 10111102 1001001,012 - 111100,112 111000001,102 - 10011101,112 100100100,0012 - 11001101,1012 1010101000,1002 - 11111111,1012 11000011101,0012 - 1111011,1002

Задание 19.Выполните умножение и деление двоичных чисел.

1010112 * 11002 1100012 * 10012 1001102 * 100112 10111012 * 101012 101101112 * 110012 1011002 / 10112 10010100112 / 1112 10100111112 / 1111012 1001110112 / 10012 1010111111012 / 111012

Задание 20.Выполнить сложение шестнадцатеричных чисел.

79616 + А3116 406916 + 98216 12AС16 + ВD616 3F7116 + 12В916 57ED116 + 23С616 84А, 3116 + 3А5,С816 510E,116 + В41,А16 6E2,2916 + A5F7,1A16 43BC,D16 + А14,716 8E3D,616 + 1DC5,916

Задание 21.Выполнить умножение шестнадцатеричных чисел.

4816 * 1716 3416 * 4516 85А16 * 1216 307С16 * A316 268116 * СD16 103,916 * 1В16 382А,516 * F316 2С54,0916 * 16,716 27E,3216 * FC1,7516 D485,6916 * 9A,216

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

5810 - 2510

2510 - 5810

3410 - 2210

2210 - 3410

7510 - 4810

4810 - 7510

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

33010 - 27510

27510 - 33010

11610 - 10710

10710 - 11610

55510 - 12210

12210 - 55510

Задание 24.Выполните операцию вычитания двоичных чисел, заменив её операцией сложения кодов чисел.

1001002 - 1000012

1000012 - 1001002

111100102 - 1011012

1011012 - 111100102

100111012 - 10011102

10011102 - 100111012

Задание 25. Выполните операцию вычитания шестнадцатеричных чисел, заменив ее операцией сложения кодов чисел.

24916 - 9416

9416 - 24916

30А16 - 17С16

17С16 - 30A16

371D16 - 24ВA16

24ВА16 - 371D16


Библиографический список

1. Информатика: Учебник / С.Р. Гуриков. – М.: Форум: НИЦ ИНФРА-М, 2014. – 464 с. (ЭБС)

2. Информатика: учебник для бакалавров/ под редакцией В.В. Трофимова. – 2-е изд., исправ. и доп. – Москва: Юрайт, 2013. – 917 с.

3. Компьютерный практикум по информатике. Офисные технологии: Учебное пособие / Г.В. Калабухова, В.М. Титов. – М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. – 336 с. (ЭБС)

4. Баранова, Е.К. Основы информатики и защиты информации [Электронный ресурс]: Учеб. пособие / Е. К. Баранова. – М.: РИОР: ИНФРА-М, 2013. – 183 с. (ЭБС)

Составитель

Черношейкина Наталья Валерьевна

ИНФОРМАТИКА

Методические указания для лабораторных занятий
и самостоятельной работы студентов по теме «Системы счисления»

Редактор -____________________

Компьютерная верстка Н.В. Черношейкина

Подписано к печати __________________2016 г.

Формат 60х84 1/16. Объем 2,75 уч.-изд.л.

Тираж ____экз. Изд. № ___ Заказ № ___

Отпечатано в мини-типографии Экономического факультета НГАУ

630039, Новосибирск, ул. Добролюбова, 160

Наши рекомендации