Давайте разберемся с заданием шаг за шагом.
Дано:
- IP-адрес сети: 200.33.100.0
- Маска сети: 255.255.248.0
Определение диапазона IP-адресов в сети:
Маска 255.255.248.0 в двоичной форме:
- 255 = 11111111 (8 единиц)
- 255 = 11111111 (8 единиц)
- 248 = 11111000 (5 единиц, затем 3 нуля)
- 0 = 00000000
Итого, количество битов сети (маски): 8 + 8 + 5 + 3 = 24
Значит, сеть занимает 24 бита, а оставшихся 8 бит — для адресов узлов внутри сети.
- Определение диапазона IP-адресов:
- Количество IP-адресов в сети:
Общее число возможных IP-адресов: (2^{8} = 256).
Но поскольку первый адрес — это адрес сети (200.33.100.0), и последний — широковещательный (200.33.107.255), то действительных адресов для устройств: (256 - 2 = 254).
Однако в условии заказано посчитать все адреса, для которых количество единиц в двоичной записи IP-адреса не кратно 77.
Обратите внимание: в этом вопросе важна именно двоичная запись IP-адреса — каждый адрес рассматривается как 32-битное число.
- Обратить внимание на правило:
- IP-адреса, где число единичных бит равно кратно 77, — это особыя адреса.
- Но так как максимальное число единиц в 32-битном числе — 32, число 77 не может быть кратным 77 в пределах 0-32.
Итак, есть важный момент: количество единиц в двоичной записи IP-адреса не может быть равно 77, потому что максимум — 32.
Значит, все адреса подходят, так как число единичных бит в IP-адресе не может достигнуть 77.
Ответ: число всех адресов, т.е. 256.
- Финальный ответ:
Поскольку все IP-адреса в диапазоне имеют число единичных бит от 0 до 32, и 77 не входит в этот диапазон, то все 256 адресов подходят.
Ответ: 256.