Transformation entier-binaire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 807 fois - Téléchargée 28 fois

Contenu du snippet

Quelques lignes pour transformer un entier long en sa valeur binaire (aussi un entier long)
C'est tout con.

Source / Exemple :


public long GetBinaryValue(long valeur)
{
	long lValue = 0;
	long division = valeur;
	for (int i=0 ; division > 0; i++){
		if (division % 2 == 1)
			lValue += (long)Math.Pow(10,i);
		division = division /2;
	}
	return lValue;
}

Conclusion :


En changeant pas grand chose, on peut en faire retourner ce qu'on veut. Un tableau de boolean, une chaine de caractère...

L'inconvénient avec les long c'est qu'on peut pas convertir plus haut que
524287

Après ça dépasse la capacité des long (1111111111111111111)
donc voila. le tableau de bool reste disponible à condition de trouver d'abord
sa taille. Au pire y a toujours les ArrayList. Sinon les string, mais la il faut penser à la retourner après lol

Facile ;-)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

C'est vrai.. Moi en fait j'utilise un tableau de boolean dans mon applic, j'ai juste mis ça en source parce que ça m'a pris plus de temps que prévu pour faire un truc correct, donc pour éviter que d'autres se fassent chier, je poste lol..

Comme je l'ai écris, une fois que c'est sur papier, c'est tout simple, donc on peut changer ce qu'on veut et faire retourner ce qu'on veut, y compris un BitArray, ce qui n'est pas une mauvaise idée, il va falloir que j'édite mon programme.. Tu fais chier lol ;-)
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
61
Intéressant, mais deux questions:
Pourquoi utiliser un long en entrée si la valeur maximale à traiter est inférieure int.MaxValue (=2147483647)
et pourquoi mettre le résultat dans un long. Si le but est d'afficher le résultat, autant le mettre dans un string, et si le but est de travailler avec ces bits, utilise directement la classe System.Collection.BitArray.
Amicalement,
Sharpmao

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.