PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] float Variablen zerlegen



debbi1
23.10.2004, 04:24
hallo leute,

noch ein kleines Problemchen:

ich möchte eine float-Variable über die serielle Schnittstelle senden.
Es ist aber mit floats keine Bitschieberei (shl, shr ...) möglich, um sie in ihre 8 Byte zu zerleegen.

Weiß einer, wie man an die 8 Byte herankommt?

Gruß debbi1

23.10.2004, 18:44
In C mach doch einfach eine union (2 oder mehr definitionen desselben Speicherbereichs)
union {
char cZ[8];
float dF;
} name;

gerechnet wird mit name.dF
gesendet etc. mit name.cZ[ 0] -- name.cZ[ 7]

debbi1
24.10.2004, 05:03
Hallo Gast,

gute Idee, aber wenn ich in C2 nacheinander definiere:
byte bvar[8];
float fvar;

... dann haben die beiden unterschiedliche Speicherbereiche.

gruß debbi1

24.10.2004, 09:20
Guckst Du mal hier:
http://www.cc2net.de/Foren/CC2Net_Forum/das_cc2net_forum.html > Suchfunktion: "getfloat"
oder im Handbuch das Kapitel über mem.c2 ....

ciao ...

24.10.2004, 10:23
Servus debbi !
Der Knackpunkt ist die "union"-Definition