В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети.
Для узла с IP-адресом \(212.145.124.210\) адрес сети равен \(212.145.124.0.\) Каково наименьшее возможное количество единиц в разрядах маски?
Решение:
Python
ip = (212 << 24) + (145 << 16) + (124 << 8) + 210
net = (212 << 24) + (145 << 16) + (124 << 8)
for n in range(31, 0, -1):
mask = ((2**32 - 1) << n) & (2**32 - 1)
if ip & mask == net:
print(32 - n)
break
Ответ: \(22\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене