Fonctions pour la convertion binaire decimal hexadecimal

Contenu du snippet

voici des fonction pour la convertion binaire decimal hexadecimal y comprie la fonction exp pour les math surtous

Conclusion :


function expt(x,y:integer):integer;
var
exptx,bouc:integer;
begin
case y of
0:exptx:=1;
else
exptx:=x;
end;
for bouc:=1 to y-1 do
begin
exptx:=exptx*x;
end;
expt:=exptx;
end;

function hextodec(hex:string):integer;
var
valeur,i:integer;
chiffre:string;
begin
valeur:=0;
for i:=1 to length(hex) do
begin
if hex[i]='f' then
chiffre:='15'
else
chiffre:=hex[i];
valeur:=valeur+(strtoint(chiffre)*expt(16,length(hex)-i));
end;
hextodec:=valeur;
end;

function dectohex(dec:integer):string;
var
nombre:string;
nombrehex:string;
begin
if (dec<10) then
begin
nombre:=inttostr(dec);
dectohex:=nombre;
exit;
end;
while (dec>=16) do
begin
case (dec mod 16) of
10:nombrehex:='a';
11:nombrehex:='b';
12:nombrehex:='c';
13:nombrehex:='d';
14:nombrehex:='e';
15:nombrehex:='f';
else
nombrehex:=inttostr(dec mod 16);
end;
nombre:= nombrehex+nombre;
dec:=trunc(dec/16);
end;
if (dec>=1) and (dec<=15) then
begin
case dec of
10:nombrehex:='a';
11:nombrehex:='b';
12:nombrehex:='c';
13:nombrehex:='d';
14:nombrehex:='e';
15:nombrehex:='f';
else
nombrehex:=inttostr(dec);
end;
end;
nombre:=nombrehex+nombre;
dectohex:=nombre;
end;

function bintodec(bin:string):integer;
var
bouc,nombre,conver:integer;
begin
nombre:=length(bin);
conver:=0;
for bouc:=0 to nombre-1 do
begin
conver:=conver+strtoint(copy(bin,(nombre-bouc),1))*expt(2,bouc);
end;
bintodec:=conver;
end;

function dectobin(dec:integer):string;
var
nombre:string;
begin
if dec=0 then
begin
nombre:='0';
dectobin:=nombre;
exit;
end;
while (dec<>0)and(dec<>1) do
begin
nombre:=inttostr(dec mod 2)+nombre;
dec:=trunc(dec/2);
end;
if dec=1 then
nombre:='1'+nombre;
dectobin:=nombre;
end;

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.