[c++] convertion decimal -> Binaire

convertion decimal -> Binaire [c++] - Programmation

Marsh Posté le 28-02-2001 à 00:34:22    

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.

Reply

Marsh Posté le 28-02-2001 à 00:34:22   

Reply

Marsh Posté le 28-02-2001 à 06:52:30    

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);
 
  }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed