Полагаю, вопрос оборван и полная формулировка звучит следующим образом: "для узла с 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 единица.
Спасибо
Ответ дал: Гость
5.5 8.8 9.8 11.6 12.7 11.7 11.2 9.3 10.3 10.4 7.4 7.2 5.2 5.3 6.3 6.9 7.8 2.8 2.9 3.9 3.6 4.5 а вот как переводить: с конца над числом в двоичной системе пишешь: 1,2,4, и.т.д если единичка есть-прибавляешь это число. если единички нет-ничего не прибавляешь.
например- 1011 8+0+2+1=11 1000 8+0+0+0=8 111 4+2+1=7 11 2+1=3 10 2+0=2 10011101 128+0+0+16+8+4+0+1=157 а твои числа все в уме считаются.проверь может я ошиблась где нибудь)
Ответ дал: Гость
1)
var
a: array [1..5,1..10] of integer;
i,j,p: integer;
begin
for i: =1 to 5 do
begin
for j: =1 to 10 do
begin
a[i,j]: =random(50)+1;
write(a[i,j]: 3);
end;
writeln;
end;
writeln('меняем 1 и последнюю строки');
for j: =1 to 10 do
begin
p: =a[1,j];
a[1,j]: =a[5,j];
a[5,j]: =p;
end;
for i: =1 to 5 do
begin
for j: =1 to 10 do
write(a[i,j]: 3);
writeln;
end;
end.
2)
var a: array [1..5, 1..10] of integer; i, j: integer; p: real;
begin for i : = 1 to 5 do begin for j : = 1 to 10 do begin a[i, j] : = random(50) + 1; write(a[i, j]: 3); end; writeln; end; writeln('произведения элементов строк'); for i : = 1 to 5 do begin p : = 1; for j : = 1 to 10 do p : = p * a[i, j]; writeln(p: 25: 0); end; end.
Популярные вопросы