Fonctions pour la convertion binaire decimal hexadecimal

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 586 fois - Téléchargée 33 fois

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

Ajouter un commentaire

Commentaires

Commenter la réponse de cs_mcguffin

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.