How to define and use struct of bits inside union in C

1 Answer

0 votes
#include <stdio.h>

typedef union bits { 
  struct {
    unsigned int
        bit0  : 1, bit1  : 1, bit2  : 1, bit3  : 1,
        bit4  : 1, bit5  : 1, bit6  : 1, bit7  : 1,
        bit8  : 1, bit9  : 1, bit10 : 1, bit11 : 1,
        bit12 : 1, bit13 : 1, bit14 : 1, bit15 : 1;
  };

  
} bits;

int main(void) {
    bits b;

    b.bit3 = 1;
    
    if (b.bit3 == 1 && b.bit4 == 0) {
        puts("b.bit3 == 1 && b.bit4 == 0");
    } else {
        puts("false");
    }
    
    printf("%u %u %u", b.bit1, b.bit3, b.bit4);
  
    return 0;
}




/*
run:

b.bit3 == 1 && b.bit4 == 0
0 1 0

*/

 



answered Mar 17, 2022 by avibootz

Related questions

1 answer 189 views
2 answers 295 views
2 answers 153 views
1 answer 125 views
...