Решение: Минимальный байт маски сети
В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, — в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда — нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 117.191.138.37 адрес сети равен 117.191.136.0. Чему равно наименьшее возможное значение третьего слева байта маски?
Решение по шагам
4 шагаДля третьего байта должно выполняться равенство поразрядной конъюнкции:
$$138 \mathbin{\&} m = 136$$Переведём числа в двоичную систему:
$$138_{10}=10001010_2,\quad 136_{10}=10001000_2$$В маске сначала идут единицы, затем нули. Чтобы получить из $10001010_2$ число $10001000_2$, маска должна сохранить бит $2^3$, но обнулить младшие биты. Наименьшая подходящая маска: $11111000_2$.
Переведём маску в десятичную систему:
$$11111000_2=128+64+32+16+8=248$$Где здесь ошибаются
Выбрать маску $240$, которая при конъюнкции с $138$ даёт $128$, а не $136$.
Рассматривать маску как произвольное двоичное число, не учитывая последовательность единиц, за которыми идут нули.