Привет! Давай вместе разберемся, почему твой ответ "3" неправильный, и как правильно решать такую задачу.
Итак, в задаче нужно посчитать, сколько IP-адресов в сети, у которых количество единиц в двоичной записи адреса НЕ кратно 2.
Первое — понять, какие адреса входят в эту сеть. Для этого используем IP-адрес 106.184.0.0 и маску 255.248.0.0.
Переведем их в двоичный формат, как сделано в решении:
- 106 = 01101010
- 184 = 10111000
- 255 = 11111111
- 248 = 11111000
Маска 255.248.0.0 означает, что первые 13 бит сети зафиксированы (8 бит для 255 и 5 бит для 248).
Но в основном, по сути, количество всех возможных IP-адресов — это 2^{количество свободных бит после маски}. В решении сказано, что всего адресов — 2^19.
Задача — найти число тех IP, где число единиц в двоичной записи НЕ кратно 2. Значит, нам нужно посчитать количество таких адресов среди всех 2^19 адресов.
Из анализа решения видно, что адреса разбиваются пополам: половина из них будет иметь четное число единиц, половина — нечетное. Поэтому, чтобы найти адреса с нечётным числом единиц, нужно взять половину — то есть 2^18, что равно 262144.
Твой ответ — "3". Это явно слишком мало, потому что число всех адресов огромное — сотни тысяч.
Понимаешь, почему именно так считают? Если у тебя есть вопросы или нужно еще помочь понять — пиши.
Поставь лайк или дизлайк, чтобы я знал, насколько тебе было полезно!