# dual in dezimal in turbo pascal



## xxerxess (17. September 2003)

wäre sehr verbunden wenn mir jemand den quelltext für ein tp-programm zum umwandeln von dualzahlen in dezimalzahlen geben könnte...verstehe zwar das prozedere mit den potenzen der basis zwei, kann dies aber nicht in pascal darstellen...danke für jede hilfe


----------



## Thomas Kuse (16. Oktober 2003)

Dual in Dezimal ist wirklich sehr einfach:

Ich geh mal davon aus, dass du Dual-Zahlen vorerst als Long von rechts nach links darstellst die String-Funktionen kenne ich nämlich nicht mehr auswendig.

Den folgenden Code kannst du auch bequem ohne Prozeduren oder auch nur mit einer lösen, je nachdem wie voll du den Haupt-Code haben willst.


```
procedure getValueByPos(value,pos:long;):long
wert:long;
begin
   wert:=value mod (pos*10);
   return wert;
end;

procedure dual2decimal(dual,length:long;):long
i,decimal:long;
begin
   decimal:=0;    
    
   for 1 to i DO
   begin
       decimal:=decimal+getValueByPos(dual,i)*POW(2,i-1);       
   end;

   return decimal;
end;
```
so ungefähr könnte so ein kleines Programm aussehen. Bei den Funktions-Definitionen bin ich mir mehr ganz so sicher, wie die genau aussahen, aber ich denke im Grossen und Ganzen sollte das funktionieren.


----------

