Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by DeddyH,
31. Aug 2011
Ich weiß nicht, was daran so schwer ist. Aber gut, dann mal ganz von vorn: angenommen, Du hast den String 00101010 und willst eine Zahl daraus machen. Dann nehmen wir zuerst den Wert des kleinsten Bits (=1) und vergleichen mit '1'
00101010
00000001 <-- 1
========
00000000
--> Ergebnis 0
Nun verdoppeln wir diesen Wert und vergleichen wieder
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by DeddyH,
31. Aug 2011
Das sieht aber sehr umständlich aus. Geh doch den String von hinten nach vorn durch und erhöhe das Ergebnis um eine Zahl, die bei 1 beginnt und bei jedem Durchlauf verdoppelt wird. Das Copy kannst Du Dir übrigens sparen, da man einzelne Zeichen eines Strings direkt per Index ansprechen kann (1. Zeichen hat Index 1).
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by DeddyH,
28. Aug 2011
Du merkst Dir den Wert des niederwertigsten Bits nicht, sondern dividierst sofort durch 2.