В терминологии сетей 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)
Приведём решение Сергея Донец на языке PascalABC.NET.
uses School;
begin
var net:=new CalcIP('1.2.3.4','255.255.248.0');
Println(net.Hosts);//2046 хостов (различных адресов компьютеров)
end.

