В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске.
Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы.
Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.
Сеть задана IP-адресом одного из входящих в неё узлов \(17.234.25.1\) и сетевой маской \(255.255.224.0.\)
Определите широковещательный адрес данной сети. В ответе укажите сумму числовых значений октетов у найденного IP-адреса.
Например, если бы найденный адрес был равен \(111.22.3.44,\) то в ответе следовало бы записать \(180.\)
Решение:
Python
ip = (17 << 24) + (234 << 16) + (25 << 8) + 1
mask = (255 << 24) + (255 << 16) + (224 << 8)
net = ip & mask
p = bin(mask)[2:].count('0')
ans = net + 2**p - 1
#print(f'{(ans >> 24) & 255}.{(ans >> 16) & 255}.{(ans >> 8) & 255}.{(ans >> 0) & 255}')
print(((ans >> 24) & 255) + ((ans >> 16) & 255) + ((ans >> 8) & 255) + (ans & 255))
Ответ: \(537\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене