Short in Byte konvertieren?
-
Hallo,
ich habe einen C++ Struct in welchem sich 4 Shorts befinden (also 2 Bytes lang) nun benötige ich diese 4 Einträge aber alle als Bytes (also 1 Byte
), bin mir auch sicher dass das alles da reinpasst - die Zahlen also nicht höher als "256" werden.
Nun habe ich das mit einem einfachen Cast versucht und da kommt immer eine Schutzverletzung:Short test = 12; Byte byte = (BYTE) test;Da muss es doch einen besseren Weg geben? Vermutlich muss ich auch noch Little und Big Endian berücksichtigen, oder?
Danke euch.
Tschüss
Tom
-
nö, das reicht eigentlich so wie dus da geschrieben hast. allerdings ist Short mir nicht bekannt. versuch doch mal short und char.
-
Deine Datentypen kenne ich nicht

short int shortValue = 128; unsigned char byteValue = static_cast <unsigned char> (shortValue);Achja, unsigned char (also ein Byte) geht nur bis 255. Für 256 brauchst du einen größeren Datentyp...
-
mit dem "Short" ist mir ein Schreibfehler unterlaufen und die Anführugnszeichen bei den "256" sollten das Wissen darum zum Ausdruck bringen - es passen ja 256 Werte hinein, denoch danke :).
Ich hab jetzt static_cast benutzt und an sich macht er die Konversion auch (hat er auch mit dem C-Cast gemacht) - nur kommt danach eine Schutzverletzung und ih weiß absolut nicht woran die liegt.
-
An der Typumwandlung ziemlich sicher nicht - was machst du denn danach mit dem umgewandelten Wert?