#include <stdio.h>

typedef struct{
char a:2;
char b:2;
}KOU;

KOU k;

void main()
{
k.a=2;
k.b=1;

printf("%d %d\n",k.a,k.b);
}

なぜかk.aが-2が表示される。なんで?
00000010
だから2が表示されるんじゃないの?