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

Просмотры: 178
Изменено: 25 ноября 2024

(А. Минак) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Сеть задана IP-адресом \(216.130.64.0\) и маской сети \(255.255.192.0\). Сколько в этой сети IP-адресов, которые не имеют ни одного байта с нечётным значением? IP-адрес сети учитывать не следует.

Решение:

Маска сети \(255.255.192.0 = 11111111.11111111.11000000.00000000_2\). Т.о., для номера компьютера в сети выделаются младшие \(14\) битов.

Python


net = (216 << 24) + (130 << 16) + (64 << 8)
q = 0
for x in range(1, 2**14):
    ip = net + x
    b4 = ip & 255
    b3 = (ip >> 8) & 255
    q += int(not b3 & 1 and not b4 & 1)
print(q)

Ответ: \(4095\)