Function t10_q(x,q:longint):string; const s='0123456789ABCDEFGHI'; var t,m:longint; r:string; begin t:=x; r:=''; while t>=q do begin m:=t mod q; r:=s[m+1]+r; t:=t div q end; t10_q:=s[t+1]+r end;
{ тестирование } var q,n:longint; begin Write('Введите основание системы счисления (2-20): '); Readln(q); Write('Введите натуральное число для перевода: '); Readln(n); Writeln(n,'(10)=',t10_q(n,q),'(',q,')') end.
Тестовое решение: Введите основание системы счисления (2-20): 16 Введите натуральное число для перевода: 16350 16350(10)=3FDE(16)
def print_num_sys(num, radix):
if (radix == 2):
print("Число {0:d} в двоичной системе счисления равно: {0:#b}".format(num))
elif (radix == 8):
print("Число {0:d} в двоичной системе счисления равно: {0:#o}".format(num))
elif (radix == 10):
print("Число {0:d} в двоичной системе счисления равно: {0:d}".format(num))
elif (radix == 16):
print("Число {0:d} в двоичной системе счисления равно: {0:#x}".format(num))
else:
print("Оcнование системы счисления задано не верно")
x = int(input("Введите целое число: "))
print_num_sys(x, 2)
print_num_sys(x, 8)
print_num_sys(x, 10)
print_num_sys(x, 16)
print_num_sys(x, 11)
const
s='0123456789ABCDEFGHI';
var
t,m:longint;
r:string;
begin
t:=x; r:='';
while t>=q do
begin
m:=t mod q;
r:=s[m+1]+r;
t:=t div q
end;
t10_q:=s[t+1]+r
end;
{ тестирование }
var
q,n:longint;
begin
Write('Введите основание системы счисления (2-20): '); Readln(q);
Write('Введите натуральное число для перевода: '); Readln(n);
Writeln(n,'(10)=',t10_q(n,q),'(',q,')')
end.
Тестовое решение:
Введите основание системы счисления (2-20): 16
Введите натуральное число для перевода: 16350
16350(10)=3FDE(16)