Nezlobte se, ale tohle je nesmysl:
1. proměnné a jejich konstantní inicializaci vyhodit mimo smyčku while. Sice dnešní kompilátory tohle udělají automaticky, ale alespoň ukážete pochopení...
2. algoritmus vypíše jenom stav nejvyššího bitu, který dojde... Na to opravdu není potřeba cyklus for.
Asi bych doporučil poprosit někoho aby ten kód navrhl na základě "high level" požadavků. Asi to bude rychlejší...