Einzelnen Beitrag anzeigen

TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#4

Re: umwandlung von dualzahlen zu dezimalzahlen

  Alt 26. Jun 2006, 09:45
Ja, Dualzahlen sind Binärzahlen.

Die Umwandlung ist eigentlich ganz einfach. Die erste Stelle von rechts steht für 2^0, die nächste für 2^1, dann für 2^2 usw.
Daher musst du nur überprüfen, ob an dieser Stelle eine 1 steht oder eine 0, dementsprechend addierst du das 2^x zum bereits errechneten.

Ich hab einfach mal eine kleine Funktion geschrieben, die das (glaube ich) richtig macht:

Delphi-Quellcode:
function DualnachDez(pDualZahl: String): Integer;
var i: integer;
begin
  result := 0;
  for i:=length(pDualZahl) downto 1 do
    if pDualZahl[i] = '1then
      result:=result+trunc(Power(2,length(pDualZahl)-i));
end;
edit: Hehe, etwas zu spät. Lustig, wie ähnlich die Funktionen sind.
Pszopp, Power gibt einen extended-Typ zurück, du musst also noch "trunc" hinzufügen.

edit2: Auf Hinweis von Pszopp geändert. Danke.
  Mit Zitat antworten Zitat