Re: Zahl umklappen lassen auf -Wert?
27. Dez 2004, 13:31
Kommt drauf an, wie groß die Eingabe sein kann. Solange es noch in einen Int64 passt, kannst du die eingegebene Zahl in einen Int64 umwandeln. Anschließend schaust du, wie oft High(Integer) dort reinpasst (geht bspw. mit div). Ist das Ergebnis gerade, ist das Vorzeichen positiv, ist es ungerade ist das Vorzeichen negativ (ließe sich als 1 und -1 in einer weiteren Variable speichern). Anschließend nimmst du die Differenz und hast einen "übergelaufenen" Integer-Wert mit korrektem Betrag und Vorzeichen.
Ist die eingegebene Zahl schon größer als 2^63-1 brauchst du sowieso eine externe Bibliothek zum Verarbeiten der großen Werte, das Prinzip ist aber das gleiche: Lasse einen Integer so oft um 1 erhöhen, bis die Zahl dem eingegebenen Wert entspricht.
|