字符串转化成二进制,I still love you

显示输出超限,有大佬帮忙指出错误吗


#include<stdio.h>
#include<math.h>
int main()
{
    char a;
    int b,i=0;
    while((a=getchar())!='\n')
    {
        if(i==1) printf("\n");
        for(int j=7;j>=0;j--)
        {
            b=a/pow(2,j);
            a-=b*pow(2,j);
            printf("%d",b);
        }
        i=1;
    }
}