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

Просмотры: 102
Изменено: 21 ноября 2024

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

Решение:

Четвёртый байт маски сети \(240_{10} = 11110000_2\). Т.о., для адреса хоста в сети отводятся младшие четыре бита, значение которых в десятичной системе счисления может принимать значения от \(0\) до \(15\).

Python


net = (192 << 24) + (168 << 16) + (32 << 8) + 160
q = 0
for x in range(16):
    ip = net + x
    if bin(ip)[2:].count('1') % 2 == 0:
        q += 1
print(q)

Ответ: \(8\)