C 170170 120 bytes
n,i,m,k[4]={0};f(){for(i=0;i<3;i++)printf("%d",k[i]);puts("");for(m=1;m<=10;m++m=0;m<=10;m++){n=m;i=0;whilen=m;i=0;for(n>0;n;i++){k[i]=n;n>>=1;i++;k[i]=n;n/=2;}for(i=4;i>0;i--)printf("%d",k[i-1]%2);puts("");}}
Ungolfed version:
void f()
{
int n,i,m,k[4]={0};
for(i=0;i<=3;i++)
printf("%d",k[i]);
puts("");
for(m=1;m<=10;m++m=0;m<=10;m++)
{
n=m;
i=0;
while(n>0)
{for(;n;i++)
k[i]=n;{
n>>=1; k[i]=n;
i++; n/=2;
}
for(i=4;i>0;i--)
printf("%d",k[i-1]%2);
puts("");
}
}
Can definitely be shortened!?
@Ahemone Awesome idea, Thanks!
Should work now! Try it online!