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

Paekicec
Aug 2, 2019
// 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 klt;gt;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
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 klt;gt;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
67
Смежные вопросы: