home *** CD-ROM | disk | FTP | other *** search
- /*********************************************************************
- * CH13_07.C OpΘrations de masquage dans des champs binaires *
- *********************************************************************/
-
- #include<stdio.h>
-
- typedef struct {
- unsigned a: 8,
- b: 4,
- c: 3;
- } champ_bin;
-
- typedef union {
- champ_bin cb;
- double dble;
- } champ_U;
-
- main( void)
- {
- champ_bin cb0= { 85, 4};
- champ_U ucb;
- ucb.cb= cb0;
-
- /* 1. masquage d'un champ. */
- printf(" cb0.a= %d", cb0.a);
- cb0.a &= 0xf; /* ou cb0.a= cb0.a & 0xf; */
- printf("\n cb0.a= %d", cb0.a);
-
- /* 2. masquage sur un champ binaire membre d'une union. */
- printf("\n\n ucb.cb.a= %d , ucb.cb.b= %d , ucb.cb.c= %d",
- ucb.cb.a, ucb.cb.b, ucb.cb.c);
-
- ucb.cb.a &=0xf;
- printf("\n ucb.cb.a= %d", ucb.cb.a);
- }
- /*
- cb0.a= 85
- cb0.a= 5
-
- ucb.cb.a= 85 , ucb.cb.b= 4 , ucb.cb.c= 0
- ucb.cb.a= 5 */
-