Задание связано с определением части IP-адреса, относящейся к адресу сети и адресу узла, используя маску сети.
Описание задания
Дано двоичное число, определяющее часть IP-адреса узла, относящуюся к адресу сети и адресу узла. Маска записывается как четыре байта, представленные десятичными числами. В маске старшие разряды — единицы, а остальные — нули. Адрес сети получается применением поразрядной конъюнкции к IP-адресу и маске.
Заданы IP-адрес 111.81.27.224 и адрес сети 100.118.27.192. Требуется найти последний байт маски сети в десятичном представлении.
Разбор решения
IP-адрес состоит из четырёх байтов, разделённых точками; каждый байт — десятичное число, не превышающее 255. Маска сети строится аналогично, но содержит сначала единицы, а затем нули. Не допускается чередование нулей и единиц в маске.
Дан IP-адрес и адрес сети. Для нахождения последнего байта маски необходимо перевести последний байт IP-адреса и последний байт адреса сети в двоичную систему счисления:
- 224<sub>10</sub> = 11100000<sub>2</sub>
- 192<sub>10</sub> = 11000000<sub>2</sub>
Запишем эти числа друг под другом, выравнивая по разрядам:
11100000 (IP-адрес) 11000000 (Адрес сети) --------
Применим поразрядную конъюнкцию (логическое умножение):
11100000 11000000 -------- 11000000
Результат конъюнкции — часть маски. Так как в маске сначала идут единицы, а затем нули, а мы получили 11000000, то дальше будут только нули. Таким образом, последний байт маски — 11000000<sub>2</sub>.
Переведём полученное двоичное число в десятичное:
11000000<sub>2</sub> = 128 + 64 = 192<sub>10</sub>
Последний байт маски сети равен 192. Это и есть ответ на задание.