char buf[256]={0};int index=sizeof(buf)-2:int ch;
while( ch= fgetc(stdin), ch!=EOF){
buf[index--] = ch;
}
printf("%d\n", strtol( &buf[index+1], 0, 2 ) );

というような話かい?