Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#8

Re: erklärt mir bitte ein programm

  Alt 18. Nov 2007, 19:40
Das Zeichen '0' hat im ASCII-Code den Wert 48, '1' den Wert 49 (wenn ich nicht irre, habe nicht nachgesehen). Durch Subtraktion kann also nur 0 oder 1 (als Zahl) dabei herauskommen. Was die Funktion tut, ist, einen String, der nur aus '0' und '1' besteht, binär wieder in eine Zahl zu wandeln. Schauen wir uns das mal mit der Beispielzahl 5 an (binär 101):

Der String lautet also '101', p ist initial 0.

Erster Durchlauf:
P := P*2 + (49 - 48) Zahl ist nun 1 (=> 0*2 + 1)
Zweiter Durchlauf:
P := P*2 + (48 - 48) Zahl ist nun 2 (=> 1*2 + 0)
Dritter Durchlauf:
P := P*2 + (49 - 48) Zahl ist nun 5 (=> 2*2 + 1)

Da der String nur 3 Zeichen hatte, sind wir nun fertig. Weiteres zur binären Logik findest Du hier.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat