Задача #2395
Компьютерные сети
(В. Зарянкин) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. Сеть задана IP-адресом 235.53.0.0 и сетевой маской 255.255.224.0. Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса кратно 5, а сами адреса в двоичном виде заканчиваются на 110? В ответе укажите только число.
Решение
Ответ
Для решения потребуется:
1. Перевод адреса сети в двоичный код, в 4 октета:
получаем: 11101011 00110101 00000000 00000000
2. Пишем двоичную маску соответствующую 255.255.224.0
получаем: 11111111 11111111 11100000 00000000
Всего маска обеспечивает 13 вариативных разрядов для IP-адресов в данной сети. Заметим ограничение на окончание адресов 110 в двоичном виде. Это означает, что на самом деле вариативных разрядов у нас не 13, а 10.
3. Вычислим адреса чьё количество единиц кратно 5:
Посчитать количество кратных 5 удобно с помощью числа сочетаний.
Заметим, что маска фиксирует 6+4+0=10 единиц в первых трёх октетах IP-адреса, а так же 2 единицы за счёт ограничения на окончание адреса, итого 12 единиц за счёт маски и условия. Ближайшее число кратное 5 - это 15, то есть необходимо взять дополнительно 3/10 вариативных разрядов адреса за счёт "0" маски:
Следует учесть, что следующее кратное число - это 20, что задействует 8/10 вариативных разрядов за счёт "0" маски:
Получаем в сумме 165