) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети.
Сеть задана IP-адресом 192.168.32.160 и маской сети 255.255.255.240.
Сколько в этой сети IP-адресов, для которых количество нулей в двоичной записи IP-адреса больше 21?
Ответ:
PRO100EGE 2024 #1 (kompege.ru) – задание №13
Решение:
192.168.32.
11000000.10101000.00100000.
6 + 5 + 7 = 18
18 + 2 = 20
| Адрес узла | 1 | 0 | 1 | 0 | ? | ? | ? | ? | |
| маска=240 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | |
| адрес сети 160= | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
для которых количество нулей в двоичной записи IP-адреса больше 21.
Нам нужно еще минимум 2 нуля
22 > 21
????
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
ИЛИ
|
1 2 3 4 5 6 7 8 |
from ipaddress import * net = ip_network('192.168.32.160/255.255.255.240') k=0 for ip in net: ip_2 = bin(int(ip))[2:] if ip_2.count('0')>21: k+=1 print(k) |
Ответ: 11
