Если маска подсети 255.255.240.0 и IP-адрес компьютера в сети 232.126.150.18, то номер компьютера в сети
1. Поскольку первые два октета (октет — число маски, содержит
2. Запишем
Итого, последние два октета маски записываются как 11110000 00000000.
3. Запишем последние два октета IP-адреса компьютера в сети:
Итого, последние два октета IP-адреса компьютера в сети записываются так: 10010110 00010010.
4. Сопоставим последние октеты маски и адреса компьютера в сети:
11110000 00000000,
10010110 00010010.
Жирным выделена нужная нам часть. Переведем её в десятичную систему счисления:
Ответ: 1554.
Приведём решение Михаила Барака на языке Python.
from ipaddress import *
net = ip_network('232.126.150.18/255.255.240.0', 0 )
count = 0
for ad in net:
if ad == ip_address('232.126.150.18'):
print(count)
break
count += 1
Приведём решение Данила Шарлова на языке Python.
from ipaddress import ip_network, ip_address
ip = '232.126.150.18'
mask = '255.255.240.0'
net = ip_network(f'{ip}/{mask}',0)
print(int(ip_address(ip))-int(net.network_address))

