int main()
{
    freopen("input.txt","r",stdin);
 freopen("output.txt","w",stdout);
    scanf("%d",&a);
    for(i=7;i>=0;i--)
    {
        if(2^i & a == 2^i) printf("1");
        else printf("0");
    }
    return 0;
}

 

로 짰는데 실행하면 11111011라는 결과만 뜹니다

어디가 잘못된건가요?