В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Широковещательным адресом называется специальный адрес, в котором на месте нулевых битов в маске стоят единицы. Сеть задана IP-адресом одного из входящих в неё узлов \(193.12.156.124\) и сетевой маской \(255.255.224.0.\) Найдите широковещательный адрес данной сети. В ответе укажите сумму числовых значений октетов у найденного IP-адреса. Например, если бы найденный адрес был равен \(100.20.3.4,\) то в ответе следовало бы записать: \(127.\)
Решение:
Python
ip = (193 << 24) + (12 << 16) + (156 << 8) + 124
mask = (255 << 24) + (255 << 16) + (224 << 8)
net = ip & mask
p = f'{mask:b}'.count('0')
br = net + 2**p - 1
ans = ((br >> 24) & 255) + ((br >> 16) & 255) + ((br >> 8) & 255) + (br & 255)
print(ans)
Ответ: \(619\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене