Afficher un nombre en binaire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 865 fois - Téléchargée 32 fois

Contenu du snippet

On passe a la fonction 'PrintBinaryNumber' un nombre (positif), et celle-ci l'affiche en binaire !
On tape les nombre dans la console :
  • Si ils sont strictement positif, on les affiche.
  • Si ils sont nuls ou s'il y a une erreur, on quitte.

Source / Exemple :


#include <stdio.h>    // printf
#include <limits.h>   // CHAR_BIT
#include <conio.h>    // getch
#include <stdlib.h>    // atoi
// affiche le nombre 'n' en binaire
void PrintBinaryNumber(unsigned int n)
{
unsigned int mask;
mask = 1 << (sizeof(unsigned int)*CHAR_BIT - 1);
// on affiche
while(mask >>= 1)
  {
  printf((n & mask) ? "1" : "0");
  }
}
// affiche les nombres que l'on rentre en binaire
int main(int argc,char **argv)
{
int   number;
char  buf[256];
while((number = atoi(gets(buf))))
  {
  PrintBinaryNumber(number);
  printf("\n\n");
  }
return 0;
}

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
7 novembre 2005

salut
est ce qu'on peut faire la solution avec la methode de decalage binaire ??
Si c'est vrai quelle est la solution ??
Messages postés
5
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2004

Moi aussi je ne comprend rien au code.
Si tu pouvais le commenter.
Dommage car ca marche bien.
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
Tu peux changer la catégorie en utilisant "Modifier votre source" dans "Votre accès" à gauche.
Code trop compliqué pour moi :)
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
Excusez moi, j'ai mis la mauvaise categorie !
Messages postés
385
Date d'inscription
mardi 15 octobre 2002
Statut
Membre
Dernière intervention
19 décembre 2017

je comprends pas trop pourquoi catégorie DirectX ???

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.