ЕГЭ Информатика 2020: Разбор задания 12 (IP-адреса и маски)

Задание связано с определением части 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. Это и есть ответ на задание.

Что будем искать? Например,программа