Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1404 connectés 

 


Dernière réponse
Sujet : [c++] convertion decimal -> Binaire
hri

lbone a écrit a écrit :

Bonjour existe t'il une fonction qui permet de convertir un nombre decimal en binaire.
Car j'y arrive pour l'octal et l'hexa mais pas le binaire :-(
Merci de m'aider.




 
  #define iDivisor 16  /****** ou 2 pour binaire *****/
  #define sHEXResultat "0123456789ABCDEF"  /*** conversion jusqu' a 16 = hexa ***/
 
  char sLineDOKIDConv[50] = "";
  char sLineDOKID00[50] = "";
  char c;
 
  int iRest;
  int iToDiv;
  int iCount;
  int i, j;
 
 
  main (int argc, char *argv[])
  {
      strcpy(sLineDOKID00, argv[1]);
      /* convert string->int */
      iToDiv=0;
      for (iCount=0; sLineDOKID00[iCount] >= '0' && sLineDOKID00[iCount] <= '9'; iCount++)
          iToDiv= 10 * iToDiv + (sLineDOKID00[iCount] - '0');
 
      /* convert in other base */
      iCount=0;
      do {
          iRest=iToDiv % iDivisor;
          iToDiv=(iToDiv - iRest) / iDivisor;
          sLineDOKIDConv[iCount]=sHEXResultat[iRest];
          iCount=iCount++;
          printf("%s\n", sLineDOKIDConv);
      } while (iToDiv > 0);
 
 
      /* turn the result to the correct order */
      for (i=0, j=strlen(sLineDOKIDConv)-1; i < j; i++, j--) {
          c=sLineDOKIDConv[i];
          sLineDOKIDConv[i]=sLineDOKIDConv[j];
          sLineDOKIDConv[j]=c;
          }
 
      printf("%s\n", sLineDOKIDConv);
 
  }


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
hri

lbone a écrit a écrit :

Bonjour existe t'il une fonction qui permet de convertir un nombre decimal en binaire.
Car j'y arrive pour l'octal et l'hexa mais pas le binaire :-(
Merci de m'aider.




 
  #define iDivisor 16  /****** ou 2 pour binaire *****/
  #define sHEXResultat "0123456789ABCDEF"  /*** conversion jusqu' a 16 = hexa ***/
 
  char sLineDOKIDConv[50] = "";
  char sLineDOKID00[50] = "";
  char c;
 
  int iRest;
  int iToDiv;
  int iCount;
  int i, j;
 
 
  main (int argc, char *argv[])
  {
      strcpy(sLineDOKID00, argv[1]);
      /* convert string->int */
      iToDiv=0;
      for (iCount=0; sLineDOKID00[iCount] >= '0' && sLineDOKID00[iCount] <= '9'; iCount++)
          iToDiv= 10 * iToDiv + (sLineDOKID00[iCount] - '0');
 
      /* convert in other base */
      iCount=0;
      do {
          iRest=iToDiv % iDivisor;
          iToDiv=(iToDiv - iRest) / iDivisor;
          sLineDOKIDConv[iCount]=sHEXResultat[iRest];
          iCount=iCount++;
          printf("%s\n", sLineDOKIDConv);
      } while (iToDiv > 0);
 
 
      /* turn the result to the correct order */
      for (i=0, j=strlen(sLineDOKIDConv)-1; i < j; i++, j--) {
          c=sLineDOKIDConv[i];
          sLineDOKIDConv[i]=sLineDOKIDConv[j];
          sLineDOKIDConv[j]=c;
          }
 
      printf("%s\n", sLineDOKIDConv);
 
  }

lbone Bonjour existe t'il une fonction qui permet de convertir un nombre decimal en binaire.
Car j'y arrive pour l'octal et l'hexa mais pas le binaire :-(
Merci de m'aider.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)