Как решать задание 13 ЕГЭ по информатике (маски подсети, сети)?
Задание 13 про IP-адрес, маску подсети и адрес сети совсем не даётся. Просят восстановить байт маски или найти количество адресов. Как разобраться с масками подсети на ЕГЭ?
2 ответа
Задание 13 — IP-адреса и маски. Главное понять: адрес сети = IP логически И (AND) с маской по каждому биту.
Что нужно знать:
- IP и маска — это по 4 байта (0–255), записаны через точку.
- Маска — это подряд идущие единицы слева, потом нули: например 255.255.240.0.
- Операция AND: бит результата = 1 только если оба бита = 1.
Типовые вопросы:
- Найти адрес сети: переведи нужный байт IP и маски в двоичный вид, сделай побитовое И.
- Восстановить байт маски: маска — это слитные единицы. Если даны IP и адрес сети, подбери маску так, чтобы AND давало адрес сети.
- Сколько адресов в сети: число нулей в маске = k, тогда узлов 2^k (минус 2 на адрес сети и широковещательный, если спрашивают про хосты).
На Python это тривиально:
ip = [192,168,5,77]
mask = [255,255,240,0]
net = [ip[i] & mask[i] for i in range(4)]
print(net)
& — побитовое И.
Частая ошибка: маска не может быть «дырявой» (единицы и нули вперемешку) — только сплошные единицы слева. И не путай: «адресов всего» = 2^k, «адресов для компьютеров» = 2^k − 2.
Запомни главные маски по числу нулей: /24 = 255.255.255.0 (256 адресов), /25 = ...128 (128), /26 = ...192 (64), /27 = ...224 (32), /28 = ...240 (16). Это покрывает большинство задач 13.
Если спрашивают «наименьшее/наибольшее количество компьютеров» — это про число нулевых бит маски: больше нулей → больше адресов. Переводи последний значащий байт в двоичный вид и считай нули.