Присоединиться

11 класс·средний уровень

Сколько адресов, в двоичной записи которых ровно 10 единиц, содержится

Условие

В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места — нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0. Известно, что в двоичной записи адреса сети, к которой принадлежит узел 68.30.20.77, содержится столько же единиц, сколько нулей в двоичной записи маски этой сети. Сколько адресов, в двоичной записи которых ровно 10 единиц, содержится в этой сети?

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. Приведём решение на языке Python. from ipaddress import * for mask in range(32, -1, -1): net = ip_network(f'68.30.20.77/{mask}',0) if bin(int(net[0])).count('1') == 32 - mask: count = 0 for ip in net: if bin(int(ip)).count('1') == 10: count += 1 print(count)

Осталось ещё 1 шаг

  1. Приведём аналитическое решение Юрия…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Организация компьютерных сетей. Адресация»