Convertir en binaire par décallages de bits

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 506 fois - Téléchargée 33 fois

Contenu du snippet

Il y a plusieurs façon de convertir un nombre en binaire, en voici une, par décallages de bits

Source / Exemple :


#include <iostream.h> //pour les cout/cin

void main()
{

	long nombre; //pour stocker le nombre
	int bits; //le nombre de bits

	cout << "Combien de bits?\n";
	cin >> bits;

	cout << "Entrez le nombre a convertir au binaire " << bits << " bits\n";
	cin >> nombre;

	/* D'abord, i obtient le valeur de bits-1, et la boucle
	s'éxécute jusqu'à ce que i soit plus petit que -1. Ça peut
	sembler stupide de soustraire 1 à bits, puis de vérifier s'il
	est égal à -1, mais c'est nécessaire pour que le modulo fasse
	les bons espacements

  • /
for (int i = bits-1;i>-1;i--) { /*Cette instruction décale les bits de nombre de i bits De cette facon, les bits gauches sont traités en premier Ensuite, le filtre binaire 1 s'assure que le bit soit activé L'instruction retourne 1 si le bit est activé et 0 s'il ne l'est pas ex: 01110000 11000101 les bits sont décalés de manière que le bit de gauche se retrouve à la droite. Comme ce bit est zéro, l'expression &1 retourne 0, qui est affiché à l'écran Ensuite, la prochaine instruction décale, 1 bit de moins, donc le 2e bit à gauche se retrouve à droite. Ce bit est un 1, l'expression &1 retourne 1, qui est affiché à l'écran
  • /
cout << ((nombre >> i)&1); if (!(i%8)) // s'il ne reste rien après la division de i par 8 cout << " "; // on met un espace pour séparer les octets } cout << "\n"; //ça fait plus beau à la fin }

A voir également

Ajouter un commentaire Commentaires
Messages postés
47
Date d'inscription
mardi 1 octobre 2002
Statut
Membre
Dernière intervention
3 juin 2003

ah, ben j'ai du me tromper !
Messages postés
20
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
8 avril 2004

Toi je sais pas mais moi le "bin" sa marche pas
Messages postés
47
Date d'inscription
mardi 1 octobre 2002
Statut
Membre
Dernière intervention
3 juin 2003

tu peux aussi faire ce qui suit, non ?

//debut
#include
void main(){
int aconvertir;
cout<<"entrez la valeur a convertir : ";
cin>>aconvertir;
cout<<bin<<aconvertir<<endl;
/*Je crois avoir lu ca quelque part ( le "<<bin<<")*/
}
//fin du code pourri

ca marche ?

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.