home *** CD-ROM | disk | FTP | other *** search
- /*********************************************************************
- * CH13_04.C Conversion d'un entier non signΘ en binaire *
- * Exercice d'aprΦs un programme de William J-M MARIE *
- *********************************************************************/
-
- #include<stdio.h>
- #include<string.h>
-
- #define n (8* sizeof( int))
-
- void LitU( unsigned int*);
- void convbin_n( unsigned int, char*);
-
- main(void)
- {
- unsigned int valeur;
- char strbin[ n+ 1];
-
- 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;
-
- convbin_n( valeur, strbin);
- printf(" Conversion: DΘcimal = %u => Binaire = %s\n",
- valeur, strbin);
- }
- }
-
- void convbin_n( unsigned int nombre, char* bin)
- {
- int i;
- unsigned int valeur;
-
- for( i= n- 1, valeur= 1; i>= 0; i--, valeur<<= 1)
- if( ( nombre & valeur)== valeur)
- bin[i] = '1';
- else
- bin[i] = '0';
- bin[n] = '\0';
- }
-
- 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;
- }
-
-