84) Чтобы определить наибольшее количество единиц в разрядах маски надо рассчитать ее адрес в двоичной системе счисления. Это можно сделать с помощью поразрядной конъюнкции (в результате побитного логического умножения адреса маски на ip адрес получим адрес сети)
Известен IP адрес: 68.112.69.138 и адрес сети 68.112.64.0
Первые два байта адреса 68 и 112 совпадают, то есть, если применить поразрядную конъюнкцию, получим адрес маски состоящий из восьми единиц: 11111111 и 11111111.
Рассмотрим третий байт.
маска : ????????
ip адрес: 69 в двоичной: 01000101
сеть: 64 в двоичной: 01000000
Правилом для маски является то, что если в маске оказывается ноль, то после него могут идти только нули. До нуля соответственно единицы.
Для шестого слева разряда маски: ?&1=0, значит в маске может находится только ноль.По правилу все остальные справа от шестого биты будут тоже равны нулю
Второй бит: ?&1=1 значит в маске только 1, перед ним первый бит по правилу= 1
Третий, четвертый и пятый бит ?&0=0 могут быть как 0 так и 1,но по условию задачи нам надо найти наибольшее возможное количество единиц, следовательно примем значение равным 1.
Получаем значение второго байта маски: 11111000
В итоге адрес маски в двоичной системе получится 11111111.11111111.11111000.00000000
получаем 21 единицу.
Ответ: 21
88) Решение аналогично предыдущей задачи:
IP адрес: 63.132.140.28 адрес сети: 63.132.140.0
Первые три байта ip адреса и адреса сети совпадают, в результате поразрядной конъюнкции получим значение маски 11111111.11111111.11111111
Для четвертого байта:
маска: ????????
28 в двоичной системе: 00011100
0 в двоичной: 00000000
Четвертый бит у маски ?&1=0 принимает значение 0
Все последующие биты по правилу= 0
Первые три бита могут быть равны только 1
В итоге адрес маски : 11111111.11111111.11111111.11100000
В нем 27 единиц
Ответ: 27 единиц