1) Какое число получится при сложении 83 и 76 в однобайтовом знаковом представлении (дополнительный код)? Затем

1) Какое число получится при сложении 83 и 76 в однобайтовом знаковом представлении (дополнительный код)? Затем переведите результат в число. Какое значение будет у полученного числа?
2) Какое число получится при вычитании 73 из -108 в однобайтовом знаковом представлении (дополнительный код)? Затем переведите результат в число. Какое значение будет у полученного числа?
3) Сколько единиц будет в коде, если число 59 сдвинуть 2 раза вправо, а после этого 3 раза влево?
4) Если IP-адрес равен 153.189.17.23, а маска равна 255.255.240.0, то какое значение будет у адреса сети?

Пошаговый ответ:

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

83 в однобайтовом знаковом представлении: 01010011
76 в однобайтовом знаковом представлении: 01001100

Сложение по битам:

01010011
+ 01001100
———-
10011111

Результат в обратном коде: 10011111

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

10011111 (обратный код)
+ 1
———-
10100000 (дополнительный код)

Переведем полученный результат в число в десятичной системе:

10100000 в десятичной системе равно -96.

Значение полученного числа равно -96.

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

-108 в однобайтовом знаковом представлении: 10011000
73 в однобайтовом знаковом представлении: 01001001

Вычитание по битам:

10011000
— 01001001
———-
11001111

Результат в обратном коде: 11001111

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

11001111 (обратный код)
+ 1
———-
11010000 (дополнительный код)

Переведем полученный результат в число в десятичной системе:

11010000 в десятичной системе равно -80.

Значение полученного числа равно -80.

3) Для сдвига числа в однобайтовом представлении на определенное количество разрядов влево или вправо, нужно перемещать все биты числа на указанное количество позиций и заполнять освободившиеся позиции нулями. Если биты ссчитываются с конца, то сдвиг называется вправо, если с начала, то влево.

59 в однобайтовом представлении: 00111011

Сдвинем число 59 вправо на 2 разряда:

00111011 (исходное число)
>> 2
———
00001110 (результат сдвига)

В полученном числе после сдвига будет 2 единицы.

Теперь ты знаешь ответ, отправь другу:

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *