int a = 38;
int i;
for(i = 0;i < 32;i++) {
if(a & (1 << i))
printf("1");
else
printf("0");
}

どうもうまくいきません。何がわるいんでしょうか?