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

0 голосов

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


спросил от Одаренный (4.0k баллов) в категории Информатика
1 Ответ
0 голосов
ответил от БОГ (150k баллов)
 
Лучший ответ

// 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

...