Convertir en binaire par décallages de bits

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

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.