Перевод числа, заданного в десятичной системе счисления, во все остальные системы счисления

 

Алгоритм основной ветки программы

  1. Записать в переменную десятичное число.
  2. Вызвать функцию перевода числа в двоичную систему счисления. Результат присвоить переменной.
  3. Вызвать функцию перевода числа в восьмеричную систему счисления. Результат присвоить переменной.
  4. Вызвать функцию перевода числа в шестнадцатеричную систему счисления. Результат присвоить переменной.
  5. Вывод переменных на экран в табличной форме.

Алгоритмы перевода десятичного числа в иные системы счисления

См. перевод десятичного числа в двоичную и восьмеричную системы счисленияперевод десятичного числа в шестнадцатеричное число.

Код программы

 

var
    decimal: integer;
    binary, octal, hexa: string;
 
function binary_octal(bin_oct:byte;decimal:integer): string;
begin
    binary_octal := '';
    while decimal > 0 do begin
        binary_octal := chr(ord('0') + (decimal mod bin_oct)) + binary_octal;
        decimal := decimal div bin_oct
    end;
end;
 
function hexadecimal(decimal:integer):string;
var digit:byte; ch:char;
begin
    hexadecimal := '';
    while decimal > 0 do begin
        digit := decimal mod 16;
        if digit in [10..15] then
            case digit of
            10: ch := 'A';
            11: ch := 'B';
            12: ch := 'C';
            13: ch := 'D';
            14: ch := 'E';
            15: ch := 'F'
            end
        else
            ch := chr(ord('0') + digit);
        hexadecimal := ch + hexadecimal;
        decimal := decimal div 16
    end;
end;
 
begin
    write('Decimal: ');
    readln(decimal);
 
    binary := binary_octal(2,decimal);
    octal := binary_octal(8,decimal);
    hexa := hexadecimal(decimal);
    writeln('notation:':10,'2':10,'8':5,'10':5,'16':5);
    writeln('value:':10,binary:10,octal:5,decimal:5,hexa:5);
 
readln
end.