Файл: Арифметические основы функционирования компьютеров Задание 1 291,43.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.03.2024
Просмотров: 41
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
В итоге получаем:
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | | 1 | 1 | 1 | 1 | 1 | | | | | | |
0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
Результат сложения: 11111111001001000100011010011111
В старшем бите 1. Следовательно, в результате сложения получили отрицательное число. Переведем его обратно в прямой код. Для этого найдем обратный код (инвертируем все биты, кроме знакового): 0000000110110111011100101100000
Дополнительный код (прибавляем 1):
В итоге получаем:
30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
Получили число 000000011011011101110010110.0001. В десятичном представлении это число имеет вид:
Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
000000011011011101110010110 = 226*0 + 225*0 + 224*0 + 223*0 + 222*0 + 221*0 + 220*0 + 219*1 + 218*1 + 217*0 + 216*1 + 215*1 + 214*0 + 213*1 + 212*1 + 211*1 + 210*0 + 29*1 + 28*1 + 27*1 + 26*0 + 25*0 + 24*1 + 23*0 + 22*1 + 21*1 + 20*0 = 0 + 0 + 0 + 0 + 0 + 0 + 0 + 524288 + 262144 + 0 + 65536 + 32768 + 0 + 8192 + 4096 + 2048 + 0 + 512 + 256 + 128 + 0 + 0 + 16 + 0 + 4 + 2 + 0 = 899990
Для перевода дробной части необходимо разделить разряд числа на соответствующую ему степень разряда.
0001 = 2-1*0 + 2-2*0 + 2-3*0 + 2-4*1 = 0.0625
В итоге получаем число 899990.0625
Результат сложения (в десятичном представлении): -899990.0625
Задание 5
Произвести вычитание первого числа в двоичном коде из второго, переведя второе число в дополнительный код. Полученный результат, при необходимости, преобразовать в дополнительный код и перевести в десятичную систему счисления. Проверить правильность вычитания.
Заменим операцию вычитание на сложение: 101000001.1111 + (-100100011.0110 )
Представим числа 101000001.11112 и 100100011.0110 2 в дополнительном коде.
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 000000101000001.1111 имеет обратный код 0,000000101000001.1111
Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
Число 101000001.1111 представляется в двоичном дополнительном коде как 0,000000101000001.1111
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 000000100100011.0110 имеет обратный код 1,111111011011100.10010
Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
В итоге получаем:
20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | | | | | | | | | | | | | | | | |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
Число -100100011.0110 представляется в двоичном дополнительном коде как 1,111111011011100.10011
Сложим числа 0000000101000001.11110 и 1111111011011100.10011
В 1-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 2-й разряд.
20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | | | | | | | | | | | | | | 1 | | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
| | | | | | | | | | | | | | | | | | | 0 | 1 |
В 2-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 3-й разряд.