Действия с кодами в шестнадцатеричной системе счисления
При сложении дополнении результат может быть получен в прямом или дополнительном коде. Признаком результата в прямом коде является наличие единицы переноса из старших складываемых разрядов. Если перенос ив этих разрядов отсутствует, то результат получен в форме дополнения. И для получения истинного ответа нужно взять дополнение от полученного дополнительного кода и присвоить числу знак «-».
Например, произвести операцию:
(-А8416) + (А3816)
Согласно таблицы сложения шестнадцатеричных чисел результат операции равен - 04C16.
Выполним данную операцию вычитания, заменив ее операцией сложения прямого и дополнительного кодов исходных чисел.
Дополнительный код числа -А8416:
- FFFF
А84 исходное число
+ F57B обратный код числа
1
F57C дополнительный код числа
Прямой код второго числа 0А3816.
В результате суммирования кода перенос ив старших складываемых разрядов не образуется:
F57C16 + 0А3816 = FFB416
Результат получен в дополнительном коде.
Истинный ответ:
FFFF
- FFB4
004B
+ 004C -04C16
Произведем операцию
(-А3816) * (А8416)
Согласно таблице сложения результат равен +04C16.
Выполним данную операцию, используя коды. Дополнительный код числа (-А3816);
- FFFF
А38 исходное число
+F5C7 обратный код числа
F578 дополнительный код числа
Прямой код второго числа 0А8416
Сумма кодов равна
+ F5C8
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
0. 1111111
1. 0000000
положительное переполнение
2. + 1. 0000000
1. 1111111
1. 01111111
отрицательное переполнение
3. + 0. 1110001
1. 1111111
.0. 11110000
операция завершилась нормально
Примеры:
1. Сложить числа в двоичной системе счисления:
(-l0001012) + (100001l2)
По правилу вычитания двоичных чисел результат операции равен 00000102.
Выполним эту же операцию, используя дополнительный код для отрицательных чисел:
-1. 1111111
1. 1000101 прямой код числа 10001012
0. 0111011 дополнительный код числа
и прямой код для второго, положительного числа 0 10000112.
Заменим операцию сложения отрицательных чисел операцией сложения кодов:
+ 0. 0111011
0. 1000011
0. 1111110
Результат получен в дополнительном коде, так как не произошло переноса единицы из старших разрядов. Истинный ответ примера:
- 1 1111111
0 1111110
1 0000001
+ 1
1 0000010 - 00000102
2. Произвести операцию (0001012) + (- l0000112).
По правилу вычитания двоичных чисел результат равен 00000102. Выполним данную операцию, используя прямой и дополнительный коды для исходных чисел и заменив операцию вычитания операцией сложения кодов.
- 1. 1111111
1. 1000011 прямой код числа - 00000102
+ 0. 0111100
1
0. 0111101 дополнительный код числа
+ 0. 1000101 прямой код числа 100001012
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