Кублен
Оракул
(97346)
5 лет назад
uses crt;
var n:longint;
k:integer;
function Sym (n : integer) : char; {функия перевода десятичного числа в символьное представление}
begin
case n of
0..9: Sym := chr(48+n);
10..36: Sym := chr(55+n); {10-A, 11-B, 12-C, 13-D, 14-E, 15-F и так далее}
end;
end;
function DecToX (n : longint; k : integer) : string;
{из десятиричной в произвольную c основанием 2<=k<=36}
var st : string;
begin
st := '';
if n = 0 then st := '0' else
begin
while n>=1 do
begin
st := Sym (n mod k) + st;
n := n div k;
end;
end;
DecToX := st;
end;
begin
write('Введите число в десятиричной системе счисления -> ');
readln(N);
write('Система счисления, в какую необходимо перевести (2..36) ');
repeat
write('-> ');
readln(K);
until (2 <= k) and (k <= 36);
writeln(N, '(10)=', DecToX(N,k),'(',k,')');
end.
var b,a,k : longint;
p: 2..9;
begin
write ('b='); readln (b);
write ('p='); readln (p);
k:=1;
a:=0;
while (b<>0) do
begin
a:=a+(b mod p)*k;
k:=k*10;
b:=b div p;
end;
writeln ('a=',a)
end.
Данная программа переводит числа из десятичной системы счисления в p-ичную. Однако когда вводишь число 1234, и хочешь его перевести в двоичную систему происходит какая-то фигня. В чем ошибка, или это нормально?