PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wie 4 einzelne bytes zu 1dword zusammenfassen



salle
24.11.2006, 15:35
hallo

ich weiss es geht einfach aber ich habs vergessen.
wie kann ich schnell aus 4 einzelnen variablen mit
je 1 byte eine mit 4byte machen

a,=0x12
b=0x34
c=0x56
d=0x78

abcd=> 0x12345678

das hat ja irgendwie mit verschieben der bytes/bits geklappt.
(<<a) oder so

danke

PicNick
24.11.2006, 15:52
union {
float dVal;
unsigned byte bByt[4];
} both;

both.dVal = 3.14
bot.bByt[0]
bot.bByt[1]
bot.bByt[2]
bot.bByt[3]

salle
24.11.2006, 16:01
Kannst mir das bitte noch kurz erklären.
schnall das gerade nicht. was bedeutet both.dVal=3.14

PicNick
24.11.2006, 16:08
Da heißt, mit
both.dVal
redest du mit dem float als Ganzes.
und mit
both.bByt[ x ] nur einem Byte von dem float

SprinterSB
24.11.2006, 16:09
Guck mal

https://www.roboternetz.de/wissen/index.php/C-Tutorial#Unions
https://www.roboternetz.de/wissen/index.php/Avr-gcc#Daten_zerlegen.2Fzusammensetzen

salle
24.11.2006, 16:42
danke ich werde es mal ausprobieren