home *** CD-ROM | disk | FTP | other *** search
- /*********************************************************************
- * CH13_03.C Conversion d'un entier non signΘ en binaire *
- * *
- * D'aprΦs un programme de: *
- * William J-M MARIE 43 boulevard des Θcoles *
- * 31270 Villeneuve Tolosanne *
- * La fonction convbin16() fait partie de sa bibliothΦque wmlib.h *
- *********************************************************************/
- #include<stdio.h>
- #include<string.h>
-
- void LitU( unsigned int*);
- char* convbin16( unsigned int);
-
- main(void)
- {
- unsigned int valeur;
- char *strbin;
-
- printf(" **** Conversion: unsigned int => binaire ****\t\t"
- "( 0 pour sortir)\n");
-
- while(1)
- {
- printf("\n Entrez un entier non signΘ ( de 1 α 65535): ");
- LitU( &valeur);
-
- if( valeur== 0) break;
-
- strbin = convbin16( valeur);
- printf(" Conversion: DΘcimal = %u => Binaire = %s\n",
- valeur, strbin);
- }
- }
-
- char* convbin16( unsigned int nombre)
- {
- int i;
- static char bin[17];
- unsigned int valeur;
-
- for( i= 15, valeur= 1; i>= 0; i--, valeur<<= 1)
- if( ( nombre & valeur)== valeur)
- bin[i]= '1';
- else
- bin[i]= '0';
- bin[16]= '\0';
- return( bin);
- }
-
- void LitU( unsigned int* entierU)
- {
- double dble;
- do
- {
- while( scanf("%lf", &dble)!= 1)
- while( getchar() != '\n');
- while( getchar() != '\n');
- }
- while( dble< 0.0 || dble> 65535.0);
- *entierU= ( unsigned int) dble;
- }
-