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

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

Ветерок

Решение:

1) Чтобы сложить числа 83 и 76 в однобайтовом знаковом представлении (дополнительный код), нужно каждое число представить в двоичной форме, затем сложить их по битам, а затем проанализировать результат.

Число 83 в двоичной форме: 01010011
Число 76 в двоичной форме: 01001100

Теперь сложим эти числа по битам:
01010011
+ 01001100
_________
10111111

Получили число 10111111 в двоичной форме.

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

В данном случае, у нас получился отрицательный результат, так как самый левый бит 1. Чтобы определить числовое значение, нужно инвертировать все биты числа (меняем 1 на 0 и наоборот) и добавить 1.

Инвертирование: 10111111 -> 01000000
Добавление 1: 01000000 + 1 -> 01000001

Таким образом, результат сложения чисел 83 и 76 в однобайтовом знаковом представлении (дополнительный код) равен -65 в числовом значении.

2) Чтобы отнять число 73 от -108 в однобайтовом знаковом представлении (дополнительный код), нужно провести аналогичные шаги.

Число -108 в двоичной форме: 10010100
Число 73 в двоичной форме: 01001001

Теперь вычитаем числа по битам:
10010100
- 01001001
_________
01101111

Получили число 01101111 в двоичной форме.

В данном случае, у нас получился положительный результат, так как самый левый бит равен 0. Числовое значение этого числа равно 111 в десятичной системе.

3) Для решения этой задачи, сначала представим число 59 в двоичной форме:

Число 59 в двоичной форме: 00111011

Теперь сдвинем его 2 раза вправо:

Сдвиг 1: 00111011 -> 00011101
Сдвиг 2: 00011101 -> 00000111

После этого, сдвинем число 3 раза влево:

Сдвиг 1: 00000111 -> 00001110
Сдвиг 2: 00001110 -> 00011100
Сдвиг 3: 00011100 -> 00111000

После всех сдвигов, в полученном числе 00111000 будет 2 единицы.

4) Для определения адреса сети по заданным IP-адресу и маске, нужно произвести логическую операцию "И" над битами адреса и маски.

Приведем IP-адрес 153.189.17.23 и маску 255.255.240.0 к двоичной форме:

IP-адрес: 10011001.10111101.00010001.00010111
Маска: 11111111.11111111.11110000.00000000

Теперь произведем операцию "И" над каждым битом:

Результат: 10011001.10111101.00010000.00000000

Получили адрес сети 10011001.10111101.00010000.00000000, который в десятичной форме равен 153.189.16.0.

5) Чтобы определить второй слева байт маски по заданным IP-адресу и адресу сети, нужно привести оба адреса к двоичной форме и сравнить их биты.

Приводим IP-адрес 153.189.17.23 и адрес сети 153.160.0.0 к двоичной форме:

IP-адрес: 10011001.10111101.00010001.00010111
Адрес сети: 10011001.10100000.00000000.00000000

Второй слева байт маски соответствует байту, в котором биты IP-адреса и адреса сети различаются. В данном случае, это байт 10100000.

6) Необходимо продолжить задачу. Пожалуйста, предоставьте следующее задание.
Знаешь ответ?
Задать вопрос
Привет!
hello