Affichage en base 2 d'un nombre donné en base 10

Contenu du snippet

Ma première fonction qui affiche le résultat en base 2 d'un chiffre (en base 10) passé en argument. (sous Linux)
Si vous avez des conseils pour l'améliorer, n'hésitez pas, merci d'avance. ;-)

Source / Exemple :


#include <stdio.h>
#include <stdlib.h>

/* Fonction qui transforme le  Nombre en base 2 et l'affiche */
void base2 (int Nombre)
{
  /* Si le Nombre est + grand que 1 on fait un appel recursif de la fonction */
  if (Nombre>1)
    {
    base2 (Nombre/2);
    }
  /* Si le Nombre est + petit que 1, on affiche le reste grace au modulo */
  printf("%d",Nombre%2);
}

int main(int argc, char *argv[])
{
  /* Declaration et initialisaton des variables */
  int Nombre=0;
  char* NombreRecupere=NULL;

  /* On teste si le nombre d'arguments recupere sur la ligne de commande est bien 2: le programme et le nombre a traiter */
  /* Si ce n'est pas le cas, l'utilisateur peut saisir le nombre qu'il souhaite traiter */
  if (argc != 2)
    {
      printf("Veuillez entrer le nombre a convertir en base 2: ");
      scanf("%d",&Nombre);
    }
  else
    {
      /* Sinon on recupere le nombre (qui est sous forme de chaine) sur la ligne de commande */
      NombreRecupere = argv[1];

      /* On convertit cette chaine en un entier */
      Nombre = atoi(NombreRecupere);
    }

  /* On affiche le resultat en appelant la fonction Base2 qui traitera le nombre */
  printf("%d en base 2 s'ecrit:\n", Nombre);
  base2 (Nombre);
  printf("\n");

  return 0;
}

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.