Сеть задана IP-адресом 172.16.96.0 и маской сети 255.255.224.0.
Сколько в этой сети IP-адресов, для которых количество единиц в их двоичной записи кратно 2?
В ответе укажите только число.
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая - к адресу узла в этой сети.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла маске сети.
Сеть задана IP-адресом 172.16.96.0 и маской сети 255.255.224.0.
Сколько в этой сети IP-адресов, для которых количество единиц в их двоичной записи кратно 2?
В ответе укажите только число.
from ipaddress import *
net = ip_network('172.16.96.0/255.255.224.0', 0)
count = 0
for addr in range(int(net.network_address), int(net.broadcast_address) + 1):
bits = f'{addr:032b}'
if bits.count('1') % 2 == 0:
count += 1
print(count)
📌 Результат: перебираем все адреса от 172.16.96.0 до 172.16.127.255; считаем те, у которых число единиц в 32-битной записи чётное; ответ: 4096.
Поверните телефон
Горизонтальный режим удобнее для таблицы и Python-кода