Задания
Версия для печати и копирования в MS Word
Тип 13 № 3784
i

Если маска под­се­ти 255.255.252.0 и IP-⁠адрес ком­пью­те­ра в сети 226.185.90.162, то номер ком­пью­те­ра в сети равен _____.

Спрятать решение

Ре­ше­ние.

1.  По­сколь­ку пер­вые два ок­те­та (октет  — число маски, со­дер­жит 8 бит) оба равны 255, то в дво­ич­ном виде они за­пи­сы­ва­ют­ся как 16 еди­ниц, а зна­чит, пер­вые два ок­те­та опре­де­ля­ют адрес сети.

2.  За­пи­шем число 252 в дво­ич­ном виде: 252_10=11111100_2.

Итого, по­след­ние два ок­те­та маски за­пи­сы­ва­ют­ся как 11111100  00000000.

3.  За­пи­шем по­след­ние два ок­те­та IP-⁠ад­ре­са ком­пью­те­ра в сети:

162_10=10100010_2,

90_10=1011010_2.

Итого, по­след­ние два ок­те­та IP-⁠ад­ре­са ком­пью­те­ра в сети за­пи­сы­ва­ют­ся так: 01011010  10100010.

4.  Со­по­ста­вим по­след­ние ок­те­ты маски и ад­ре­са ком­пью­те­ра в сети:

11111100 00000000,

01011010 10100010.

Жир­ным вы­де­ле­на нуж­ная нам часть. Пе­ре­ве­дем её в де­ся­тич­ную си­сте­му счис­ле­ния: 1010100010_2=674_10.

 

Ответ: 674.

 

При­ведём ре­ше­ние Фидан Бай­ра­мо­вой на языке Python.

from ipaddress import*

net = ip_network('226.185.90.162/255.255.252.0',0)

count = 0

for ad in net:

if ad == ip_address('226.185.90.162'):

print(count)

count += 1

 

При­ведём ре­ше­ние Да­ни­ла Шар­ло­ва на языке Python.

from ipaddress import ip_network, ip_address

ip = '226.185.90.162'

mask = '255.255.252.0'

net = ip_network(f'{ip}/{mask}',0)

print(int(ip_address(ip))-int(net.network_address))


Аналоги к заданию № 3784: 3786 Все