(4<<2)*((9>>2)+1)
1) 4<<2 = 4*2*2=16 (сдвиг влево на каждый разряд удваивает число)
2) 9>>2 = 2 (сдвиг вправо на каждый разряд уменьшает число вдвое, остаток теряется)
3) 2+1 = 3
4) 16 * 3 = 48
Итого, три пары скобок
Var a:integer;
begin
write('a = ');
readln(a);
writeln('Укажите направление перевода:');
writeln('1 - бит -> байт, Кбайт, Мбайт');
writeln('2 - байт -> бит, Кбайт, Мбайт');
writeln('3 - Кбайт -> бит, байт, Мбайт');
writeln('4 - Мбайт -> бит, байт, Кбайт');
readln(n);
case n of
1: writeln(a,' бит = ',a/8,' байт, ',a/8/1024,' Кбайт, ',a/8/1024/1024,' Мбайт');
2: writeln(a,' байт = ',a*8,' бит, ',a/1024,' Кбайт, ',a/1024/1024,' Мбайт');
3: writeln(a,' Кбайт = ',a*8*1024,' бит, ',a*1024,' байт, ',a/1024,' Мбайт');
4: writeln(a,' Мбайт = ',a*8*1024*1024,' бит, ',a*1024*1024,' байт, ',a*1024,' Кбайт');
else writeln('Неверный номер');
end;
end.
Пример:
a = 2048
Укажите направление перевода:
1 - бит -> байт, Кбайт, Мбайт
2 - байт -> бит, Кбайт, Мбайт
3 - Кбайт -> бит, байт, Мбайт
4 - Мбайт -> бит, байт, Кбайт
3
2048 Кбайт = 16777216 бит, 2097152 байт, 2 Мбайт
В десятичной системе; в пятеричной системе
0-0
1-1 5^0=вес 1
2-2
3-3
4-4
5-10 цифра 0 имеет вес 1 цифра 1 имеет вес 5 (5^1) "5"-основание системы
6-11 цифра 1(правая) имеет вес 1(5^0=1), цифра 1(левая) имеет вес 5(5^1=5)
7-12 цифра 2 имеет вес 1(5^0=1), цифра 1 имеет вес 5(5^1=5)
8-13 3==1(вес) , 8===5(вес)
9-14
10-20 0 имеет вес 1(5^0=1), 2 имеет вес 5(5^1=5)
11-21
12-22
13-23
14-24
15-30
16-31
17-32 2===1, 3====5
18-33 3===1,3====5
19-34 4===1,3====5 в остальных случая аналогично
20-40