Перевод десятичного числа в двоичную или восьмеричную систему счисления
Написать программу, которая переводит число из десятичной системы счисления в двоичную или восьмеричную.
Описание переменных:
decimal – десятичное число;
bin_oct – основание системы счисления, в которую следует его перевести.
Алгоритм решения задачи:
Пока десятичное число больше 0
- Добавлять на первое место двоичного числа остаток от деления этого числа на основание системы счисления.
- Сохранить результат целочисленного деления десятичного числа на основание системы счисления.
Программа на языке Паскаль:
var
decimal: word;
bin_oct: byte;
function binary_octal(decimal:word;bin_oct:byte):string;
begin
if (bin_oct <> 2) and (bin_oct <> 8) then
write('Error')
else
while decimal > 0 do begin
binary_octal := chr(ord('0') + (decimal mod bin_oct)) + binary_octal;
decimal := decimal div bin_oct
end;
end;
begin
write('Decimal: ');
readln(decimal);
write('Binary or octal (2,8): ');
readln(bin_oct);
writeln(binary_octal(decimal,bin_oct));
readln
end.