Hallo nils,
zunächst muss man erstmal folgendes wissen:
Zitat:
char '0' entspricht Hexadezimal 30
char '1' entspricht Hexadezimal 31
...
...
char '9' entspricht Hexadezimal 39
Daraus ergibt sich in etwa folgende Herangehensweise:
In diesem Beispiel gehe ich von einer 4 Stelligen Zeichenkette aus, kann man ja beliebig erweitern wenn man mehr braucht.
Code:
//erste Stelle von links wandeln
L #char1
BTI //in Integer wandeln
L 30 //30 subtrahieren um die korrekte Ziffer als Int zu erhalten
-I
L 1000 //multiplizere mit 1000
*I
T #tausender //Zwischenergebnis (Word)
//zweite Stelle von links wandeln
L #char2
BTI //in Integer wandeln
L 30 //30 subtrahieren um die korrekte Ziffer als Int zu erhalten
-I
L 100 //multiplizere mit 100
*I
T #hunderter //Zwischenergebnis (Word)
//dritte Stelle von links wandeln
L #char3
BTI //in Integer wandeln
L 30 //30 subtrahieren um die korrekte Ziffer als Int zu erhalten
-I
L 10 //multiplizere mit 10
*I
T #zehner //Zwischenergebnis (Word)
//vierte Stelle von links wandeln
L #char4
BTI //in Integer wandeln
L 30 //30 subtrahieren um die korrekte Ziffer als Int zu erhalten
-I
T #einer //Zwischenergebnis (Word)
//das Ganze zusammenrechnen
L #tausender
L #hunderter
+I
L #zehner
+I
L #einer
+I
T #int_zahl //Die Zeichenkette als Integerzahl
//Dieses nun in Real wandeln
L #int_zahl
ITD
DTR
T #real_zahl //Das Endergebnis als Gleitkommazahl
.
.