#include <stdio.h> typedef struct{ unsigned char bit0 : 1; unsigned char bit1 : 1; unsigned char bit2 : 1; unsigned char bit3 : 1; unsigned char bit4 : 1; unsigned char bit5 : 1; unsigned char bit6 : 1; unsigned char bit7 : 1; unsigned char bit8 : 1; unsigned char bit9 : 1; unsigned char bit10 : 1; unsigned char bit11 : 1; unsigned char bit12 : 1; unsigned char bit13 : 1; unsigned char bit14 : 1; unsigned char bit15 : 1; }bitfield; bitfield bf; static void PrintBitField( void ) { printf("%d\n", bf.bit0); printf("%d\n", bf.bit1); printf("%d\n", bf.bit2); printf("%d\n", bf.bit3); printf("%d\n", bf.bit4); printf("%d\n", bf.bit5); printf("%d\n", bf.bit6); printf("%d\n", bf.bit7); printf("%d\n", bf.bit8); printf("%d\n", bf.bit9); printf("%d\n", bf.bit10); printf("%d\n", bf.bit11); printf("%d\n", bf.bit12); printf("%d\n", bf.bit13); printf("%d\n", bf.bit14); printf("%d\n", bf.bit15); } int main() { unsigned short * value = (unsigned short *)&bf; *value |= (1 << 5); PrintBitField(); return 0; }
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more