В терминологии сетей TCP/IP маской подсети называется 32-разрядное двоичное число, определяющее, какие именно разряды IP-адреса компьютера являются общими для всей подсети, — в этих разрядах маски
Примечание. На практике для адресации компьютеров не используются два адреса: адрес сети и широковещательный адрес.
1. Поскольку первые два октета (октет — число маски, содержит
2. Запишем
3. Далее, 211 = 2048, так как два адреса не используются, получаем 2048 − 2 = 2046.
Ответ: 2046.
Приведём решение Данила Шарлова на языке Python.
from ipaddress import ip_network
from random import randint
ip = f'{randint(0,255)}.{randint(0,255)}.{randint(0,255)}.{randint(0,255)}'
mask = '255.255.248.0'
net = ip_network(f'{ip}/{mask}',0)
print(net.num_addresses-2)

