ziegenmelker: Dezimal zu Dual

Beitrag lesen

Hallo,

um Dezimalzahlen in Dualzahlen umzuwandeln, verwende ich momentan folgenden Algorithmus:

Dezimal = 54
Dual = ""
WIEDERHOLE SOLANGE Dezimal > 0
  Dual = (Dezimal Mod 2) + Dual
  Dezimal = Dezimal / 2
ENDEWIEDERHOLE

wie wandle ich aber nun Nachkommastellen einer Dezimalzahl z.B. 54,3 in eine Dualzahl um?

Rest = 0,3
Dual2 = ""
WIEDERHOLE SOLANGE Rest > 0
Rest = Rest * 10 / 5
Int1 = INTERGERTEIL(Rest)
Dual2 = Dual2 + STRING(Int1)
Rest = Rest - Int1
ENDEWIEDERHOLE

Damit das nicht unendlich lange geht sollte man noch eine Abbruchbedingung definieren.

cu,
ziegenmelker