Задание 13. Информатика. ЕГЭ. Поляков-7931

Просмотры: 50
Изменено: 22 февраля 2025

В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы. Сеть задана IP-адресом одного из входящих в неё узлов \(98.112.180.225\) и сетевой маской \(255.255.240.0.\) Найдите наибольший IP-адрес в данной сети, который может быть назначен компьютеру. В ответе укажите найденный IP-адрес без разделителей. Например, если бы найденный адрес был равен \(111.22.3.44,\) то в ответе следовало бы записать \(11122344.\)

Решение:

Python


ip = (98 << 24) + (112 << 16) + (180 << 8) + 225
mask = (255 << 24) + (255 << 16) + (240 << 8)
n = f'{mask:b}'.count('0')
max_ip = (ip & mask) + (2**n - 2)
print(f'{(max_ip >> 24) & 255}{(max_ip >> 16) & 255}{(max_ip >> 8) & 255}{max_ip & 255}')

Ответ: \(98112191254\)