Предмет: Информатика, автор: Nesh1999

Дано целое число в двоичной системе счисления, т.е. последовательность цифр 0 и 1. Составить программу перевода этого числа в восьмеричную систему счисления.

Ответы

Автор ответа: Аноним
0
// PascalABC.NET 3.2, сборка 1325 от 19.10.2016
function BinToOct(s:string):string;
// переводит двоичную триаду в восьмеричную цифру
begin
  case s of
  '000':Result:='0';
  '001':Result:='1';
  '010':Result:='2';
  '011':Result:='3';
  '100':Result:='4';
  '101':Result:='5';
  '110':Result:='6';
  '111':Result:='7';
  end
end;


begin
  var s2:=ReadlnString('Введите целое двочное число');
  var k:=s2.Length mod 3;
  if k<>0 then s2:=(3-k)*'0'+s2; // дополнить до кратной 3 длины
  var s8:='';
  for var i:=1 to s2.Length div 3 do
    s8:=s8+BinToOct(Copy(s2,3*i-2,3));
  Writeln(s8);
end.

Пример
Введите целое двочное число 10101100001
2541

Похожие вопросы
Предмет: География, автор: sofiachirka123
Предмет: Математика, автор: Anna2909ok