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] = '1' then
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.