Conversion d'un nombre entier en sa représentation binaire

Description

Après avoir cherché (partout ?) dans les bibliothèques de fonctions livrées avec Delphi, je n'ai rien trouvé qui nous donne une représentation binaire d'un entier.
Bien entendu, une représentation d'un tel type ne peut aboutir qu'à un résultat sous forme de chaine.
Comme un membre en avait besoin, je me suis dit : tiens, pourquoi pas.
Ce fut l'occasion de réviser ma table de multiplication par 2. >:)

Source / Exemple :


{ Convertit un entier Value en sa représentation binaire et renvoie
une chaine de bits caractères (par défaut 32 caractères).}
function IntToBin(const Value: integer; bits: byte = 32): string;overload;
{ Fonction équivalente mais admettenat un nombre sur 64 bits.}
function IntToBin(const Value: int64; bits: byte = 64):string;overload;
{Convertit une chaine contenant une valeur binaire en son équivalent sous
forme d'un entier. Si la chaine contient d'autres caractères que 0 ou 1,
la fonction renvoie 0. NE tient pas compte d'un éventuel bit de signe. Pour
cela, il est préférable d'utiliser l'autre fonction BinToInt.}
function BinToInt(const Value: string = '0'):integer;overload;
{Convertit une chaine contenant une valeur binaire en son équivalent sous
forme d'un entier. Si la chaine contient d'autres caractères que 0 ou 1,
la fonction renvoie 0.
Le paramètre Signed indique si le premier bit à gauche est un bit de signe.}
function BinToInt(Signed: boolean; const Value: string = '0'):integer;overload;

Conclusion :


Les commentaires sont avec le code source joint dans le fichier zip.
Seule la version traitant des entiers 32 bits est commentée. A vous de la découvrir si le code ci-dessus vous échappe.

Codes Sources

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.