Načítavaš číslo po znakoch. Takže v nejakej premennej (vypis) máš aktuálne rozpoznanú hodnotu a pri každom načítaní ďalšieho znaku túto hodnotu vynásobíš základom sústavy (2) a pripočítaš hodnotu rozpoznanej číslice (vstup[i] - '0'):
vypis = 2 * vypis + vstup[i] - '0';
Prípadne keď to chceš bitovým posunom, tak (ale predchádzajúci spôsob je čitateľnejší):vypis = vypis << 1 + vstup[i] - '0';