Top.Mail.Ru
Ответы

Помогите с переводом чисел с 10сс в 16сс Pascal

Написать программу перевода с 10сс в 16сс

По дате
По Рейтингу
Аватар пользователя
Новичок

должно же там быть чтото типа hex(число)

Аватар пользователя
Просветленный

Либо найти встроенную функцию, типа hex
Либо искать остаток деления на 16, если меньше 10, то соответствующее число, если 10 - А, 11 - B, 12 - C, 13 - D, 14 - E, 15 - F - это будет младший разряд. Потом вычитаешь остаток, делишь на 16 и повторяешь, пока не закончится число

Аватар пользователя
Оракул

uses crt; //перевод из одной системы в другую
var n,m:longint;
k:integer;
l:string;
{фунция перевода любой сс в Dec}
function ToDec(n:string;r:longint):longint;
var
m,i:longint;
const
digit:string[16]='0123456789ABCDEF';
begin
m:=0;
while n[1]='0' do
delete(n,1,1);
for i:=1 to length(n) do
m:=m*r+pos(n,digit)-1;
ToDec:=m;
end;
{функция перевода Dec числа в любую сс}
function FromDec(n,r:longint):string;
var
s:String;
const
digit:string[16]='0123456789ABCDEF';
begin
s:='';
repeat
s:=digit[(n mod r)+1]+s;
n:=n div r;
until n=0;
FromDec:=s;
end;
begin
write('Введите число в десятиричной системе счисления -> ');
readln(N);
{write('Система счисления, в какую необходимо перевести (2..36)--> ');
readln(K);
l:= FromDec(n,k);
writeln(l); }
write('Система счисления, в какую необходимо перевести (2..36) ');
repeat
write('-> ');
readln(K);
until (2 <= k) and (k <= 36);
writeln(N, '(10)=', FromDec(N,k),'(',k,')');
end.

Аватар пользователя
Высший разум

Всего одна строчка кода!
Всё остальное за паскаль сделает Windows…