Задача к ЕГЭ по информатике на тему «Определение адреса сети» №4

В терминологии сетей TCP/IP маска сети – это двоичное число, меньшее 232  ; в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес – в виде четырех байт, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

По заданным IP-адресу и маске определите адрес сети:

IP-адрес: 27.235.229.164, Маска: 255.255.248.0

В ответе укажите сумму цифр адреса сети в десятичной системе счисления.

Решение руками:

Адрес сети определяется путем применения поразрядной конъюнкции к заданному IP-адресу узла и маске.

Переведем IP-адрес и маску в двоичную систему счисления и найдем адрес сети:

IP 00011011.11101011.11100101.10100100
Mask 11111111.11111111.11111000.00000000
Net 00011011.11101011.11100000.00000000

Переведём адрес сети в десятичную систему счисления:

00011011.11101011.11100000.00000000  = 27.235.224.0                                 2             10

Сумма цифр равна:

2 + 7+ 2+ 3 +5 + 2+ 2+ 4 = 27

Решение программой:

from ipaddress import ip_network
# Создаем объект сети с заданным IP-адресом и маской
net = ip_network(’27.235.229.164/255.255.248.0’, 0)
# Получаем адрес сети
network_address = str(net.network_address)
# Считаем сумму цифр
sm = sum(int(i) for j in network_address.split(’.’) for i in j)
print(sm)

Ответ: 27
Оцените статью
Я решу все!