Moin Kermit,
abgesehen davon, dass Du die Variable dual nicht initialisiert hast (nur globale Variablen werden automatisch initialisiert), so berücksichtigst Du nicht, dass Du auch die jeweilige Stelle berücksichtigen musst.
Soll heissen:
Rest kann immer nur 0 oder 1 sein.
Beim ersten Durchlauf müsste dies an die niederwertigste Stelle von dual geschrieben werden, beim zweiten eine Stelle weiter links usw.
Wenn Du hier mal nach
IntToBin suchst, müsstest Du einige Fundstellen bekommen, die Dir das Prinzip verdeutlichen.