В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети.
Сеть задана IP-адресом 192.168.160.0 и маской сети 255.255.224.0.
Сколько в этой сети IP-адресов компьютеров, в которых столько же единиц, сколько в маске?
Решение:
Решение на Python:
from ipaddress import *
otv = 0
for ip in ip_network('192.168.160.0/255.255.224.0', 0):
ip2 = f'{ip:b}'
mask1 = bin(255)[2:].count('1') + bin(255)[2:].count('1') + bin(224)[2:].count('1') + bin(0)[2:].count('1')
if ip2.count('1') == mask1: otv += 1
print(otv)
Ответ: 13
Ответ:
13