Step 7 Umwandlung REAL in U_EXPO_NEW Format

Geisti

Level-1
Beiträge
23
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ihr Lieben,

kann mir jemand bitte weiterhelfen. -ich bin am verzweifeln-

Ich muss eine Gleitpunktzahl (REAL) in eine spezielles Formal "U_Expo_New" wandeln.

Dabei muss ich die REAL Zahl in Mantisse und Exponenten zerlegen (wie würdet ihr das machen?) => kleines Beispiel wäre nett ;).

Die U_Expo_New Zhal besteht auf 4 Digits für die Mantisse und dann folgen zwei Digits die den Exponenten angeben (Hinweis der Exponeten hat ein Offset von 20).

Hier ein Beispiel:
aus 1.234E36 wird 123456
aus 1.000E-20 wird 100000

Ich hoffe ihr versteht was ich damit meine.

Gruß
Ghosti


 
Dieses U_Expo_New Format hat scheinbar sechs Zeichen.
Du hast aber nicht gesagt, wie es dargestellt werden soll.
ASCII, BCD, WORD, .....
Wieviel Byte hat denn das Ergebnis, oder soll es haben?
 
Also ich würde so vorgehen:
Den Exponenten findest Du in Bit 23-30 der Gleitpunktzahl. Das sollte mit verschieben, verunden, usw. kein Problem darstellen (BIAS muss man abziehen).
Die 4 ersten Stellen sollten sich bei einer Division der ursprünglichen Zahl durch 10^(Exponent-3) finden. Dieses Ergebnis in DINT wandeln, mit 100 multiplizieren und den Exponenten zzgl Offset dazuaddieren.
Ich hoffe, da ist kein Gedankenfehler.
 
Zurück
Oben