у меня есть код, в котором я одним большим выражением перевожу двоичное число в воьмеричное:
var a,x: integer;
begin
readln(x);
a:=(x div 10000*16) + ((x div 100*10 - x div 1000*10)div 1000*8)+((x div 100*100 - x div 1000*1000)div 100*4)+((x div 10*10 - x div 100*100)div 10*2)+(x - x div 10*10); // преобразование числа x из десятичной системы счисления в восьмеричную. Это происходит путем разложения числа на разряды и их последующего преобразования в восьмеричный вид.
writeln((a div 8).ToString+(a mod 8).ToString);
end.
мне нужно объяснить, как она работает, что за что отвечает (мне помогал другой человек, поэтому, я сам не писал программу)