Полагаю, вопрос оборван и полная формулировка звучит следующим образом: "для узла с ip-адресом 203.155.196.98 адрес сети равен 203.155.192.0. найдите наибольшее возможное количество единиц в двоичной записи маски подсети."нас интересует 3-й октет (байт) ip адреса, который равен 196. переведем в двоичную систему. аналогично поступим с 3-м октетом адреса сети. ip адрес и маска подсети адрес сети, их поразрядное логическое умножение друг на друга. для наглядности запишем это в столбик. 11000100 - ip - маска 11000000 - адрес сети однозначно, чтобы получить единицы в крайних левых разрядах адреса сети, они должны быть и в маске. 11000100 11000000 в требуется определить максимально возможное количество единиц в маске. т.к. в маске подсети сначала идут все единицы, а потом все нули без чередования, маска будет следующей: 11000100 11111000 11000000 будь единиц в маске хотя бы на одну больше, адрес сети бы изменился на 11000100. теперь представим нашу маску в двоичном коде: 11111111.11111111.11111000.00000000 число единиц 8+8+5=21. ответ: 21 единица.
Спасибо
Ответ дал: Гость
хай
Ответ дал: Гость
var i, j, k, p: integer; a, b: array[1..10] of integer;
begin k : = 0; for i : = 1 to 10 do begin a[i] : = random(20) - 10; write(a[i]: 3); if a[i] > 0 then begin k : = k + 1; b[k] : = a[i]; end; end; for i : = 1 to k - 1 do for j : = i + 1 to k do if b[i] > b[j] then begin p : = b[i]; b[i] : = b[j]; b[j] : = p; end; writeln; for i : = 1 to k do write(b[i]: 3); end.
Популярные вопросы