В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске.
Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы. Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.
Сеть задана IP-адресом одного из входящих в неё узлов \(153.196.115.75\) и сетевой маской \(255.248.0.0.\)
Найдите в данной сети наибольший IP-адрес, который может быть назначен компьютеру. В ответе укажите найденный IP-адрес без разделителей.
Например, если бы найденный адрес был равен \(131.16.5.88,\) то в ответе следовало бы записать: \(13116588.\)
Решение:
Python
ip = (153 << 24) + (196 << 16) + (115 << 8) + 75
mask = (255 << 24) + (248 << 16)
net = ip & mask
n = f'{mask:b}'.count('0')
max_ip = net + 2**n - 2
print(f'{(max_ip >> 24) & 255}{(max_ip >> 16) & 255}{(max_ip >> 8) & 255}{max_ip & 255}')
Ответ: \(153199255254\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене