/* vgb6-05.c: estructura de bits para manejo de llaves 0,1 */
#include <stdio.h>

void main()
{

  struct {			/* estructura de bits */
    unsigned int llave1: 1;	/* campo de largo 1 bit */
    unsigned int llave2: 1;
    unsigned int llave3: 1;
    unsigned int relleno: 5;	/* bits de relleno a byte */
  } llaves;

  llaves.llave1 = llaves.llave3 = 1;
  llaves.llave2 = 0;
  llaves.relleno = 0;

  printf("\n\nCampos de bits.\n");
  printf("Estados: %d %d %d\n",
    llaves.llave1, llaves.llave2, llaves.llave3);

  printf("Prueba de estados:\n");

  if (llaves.llave1 == 1 && llaves.llave2 == 0)
    printf("  llave1 en 1 Y llave2 en 0\n");

  if (llaves.llave1 == 1 || llaves.llave3 == 1)
    printf("  llave1 en 1 O llave3 en 1\n");

}
