1ビットしかなくて読むだけなのにビットフィールドの共用体なんてフツー使わねえよ。

#define BIT(val, pos) (((val) >> (pos)) & 1)

int ch;
ch = 'a';
printf("%d %d %d %d %d %d %d %d\n", \
BIT(ch,7), BIT(ch,6), BIT(ch,5), BIT(ch,4), BIT(ch,3), BIT(ch,2), BIT(ch,1), BIT(ch,0));