Тип 13 № 3783 
Организация компьютерных сетей. Адресация. Подсчет количества адресов в сети
i
В терминологии сетей TCP/IP маской подсети называется 32-разрядное двоичное число, определяющее, какие именно разряды IP-адреса компьютера являются общими для всей подсети, — в этих разрядах маски стоит 1. Обычно маски записываются в виде четверки десятичных чисел — по тем же правилам, что и IP-адреса. Для некоторой подсети используется маска 255.255.255.128. Сколько различных адресов компьютеров теоретически допускает эта маска, если два адреса (адрес сети и широковещательный) не используют?
Решение. 1. Поскольку первые три октета (октет — число маски, содержит 8 бит) равны 255, то в двоичном виде они записываются как 24 единицы, а значит, первые три октета определяют адрес сети.
2. Запишем число 128 в двоичном виде: 
В этом числе стоят 7 нулей. Итого у нас есть 7 двоичных разрядов для того, чтобы записать адрес компьютера.
3.
но, так как два адреса не используются, получаем 
Ответ: 126.
Приведём решение Данила Шарлова на языке 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.255.128'
net = ip_network(f'{ip}/{mask}',0)
print(net.num_addresses-2)
Ответ: 126