Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.109 Beiträge
 
Delphi 12 Athens
 
#35

AW: Umrechnen von Zahlensystemen

  Alt 31. Aug 2011, 19:45
Aber genau das macht DeddyH doch?
Er geht jede mögliche Zweierpotenz durch, schaut ob diese (als Bit) enthalten ist und wenn ja, wird sie zum Ergebnis dazugerechnet.

PS: man kann auch andersrum vorgehen. (ein Vorzeichen gibt es nicht)
- man fängt mit der größten zweierpotenz an, als Vergleichswert (bei Integer also 2^31)
- Schleife:
- nun vergleicht man, ob die Zahl mindestens so groß ist, wie der Vergleichswert
- - wenn ja
- - - dann wird dieser Wert zum Ergebnis addiert
- - - und der Wert wird auch noch von der Zahl abgezogen
- jetzt halbiert man den Vergleichswert (ganzzahlig mit DIV)
- und wiederholt die Schleife, solange der Vergleichswert größer als 0 ist (Vergleichswert > 0.5, aber da wir ja ganzahlig Rechnen VW > 0)

oder
- Ergebnis = 0
- Summand = 1
- Schleife:
- wenn Wert ungerade, dann Summand zum Ergebnis addieren
- Summand verdoppeln
- Wert halbieren (ganzzahlig mit DIV)
- so lange wie der Wert größer 0 ist, die Schleife wiederholen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Aug 2011 um 19:53 Uhr)
  Mit Zitat antworten Zitat