Wieviele Mitnehmertakte braucht es denn maximal, bis das am weitesten entfernte Produkt den Ausgang erreicht?
Sind das mehr als 32?
Falls nein, macht man ein einfaches Bit-Shifting auf ein Long Integer. Wenn es mehr als 32 Takte sind, muss man mehrere Shiftregister in Reihe nutzen und den Overflow durchreichen.
Mein Rat, informiere dich über die Themen Bit-Shifting und Bit-Masking (Bit Maskierung). Die beiden Dinge wirst du brauchen und solltest du auch verstanden haben.
Man kann das auch mit einem Array oder Pointern lösen, aber Bit-Shifting ist da die effektivste Herangehensweise meiner Meinung nach.