Float Wert to Dword und dann zu DINT geht das?

M

mcmatthew

Guest
Zuviel Werbung?
->Hier kostenlos registrieren
Hi,

ist es möglich einen Float Wert, auf 2 Word Arrays aufzuteilen, ohne den Wert zu verfälschen? Sollte weiterhin der IEEE 754 Norm entsprechen.
Die 2 Word Arrays werden mittels eines ("Umformers Name von mir") auf 4 Byte und dann auf Double Word durchgeschoben. Am Ende gehts es von DWORD nach DINT.

Funktioniert das überhaupt, oder wird der Wert total verfälscht?

gruss
matthias
[/b]
 

Valdi

Well-known member
Beiträge
52
Punkte Reaktionen
4
In AWL heisst der Befehl "RND" zum wandeln von Real zum DINT
Zum kopieren auf Dword benutze den Befehl MOVE.
Gruß
Valdi
 

derwestermann

Well-known member
Beiträge
562
Punkte Reaktionen
59
Zuviel Werbung?
->Hier kostenlos registrieren
Der wird auf jeden Fall verändert und entspricht NICHT mehr der IEEE754.
Kann er ja gar nicht, weil diese Norm nur Gleitkommawerte definiert.
Nachkommastellen werden abgeschnitten und der Wertebereich vor dem Komma ist auch ein anderer.

Wenn dann nur von DINT nach DWORD, siehe Valdis Beitrag.

Aber wo ist das Problem?

Ob Du 4 Byte als Float, oder als DWORD in der Gegend herumkopierst ist doch den Speicherstellen egal. Kopierst Du einen Floatwert als 4 Byte, ist das immer noch ein Floatwert, wenn Du die 4 Byte betrachtest. Es sei denn, es findet eine Intel/Motorola-Verschiebung statt, von wegen High- und Lowbyte, aber dann bräuchtest Du ja auch nur die Bytes wieder richtig zu sortieren und gut.
 
Oben