Hallo, wie kann ich eine 24 bitige Zahl aus 3 Bytes in einen Datentyp packen. Ich denke ich brauche einen Long dafür oder? Kenn mich noch nciht so aus. Geht doch bestimmt über bit-schiebereien? Mfg Timmy
Hi! int32_t Zahl; void beispiel(void) { Zahl = ((int32_t)(byte[0] << 16)) + ((int32_t)(byte[1] << 8)) + byte[2]; } Sollte so funktionieren ;) Gruß, Patrick...
Suche mal hier im gcc-Forum nach "union". Damit geht das, was Du willst (wenn ich Dich richtig verstanden habe). Stefan
Ne OldBug lag schon richtig so. Ich hab drei Byte die eine große Zahl repräsentieren. Diese soll nun am Computer zu einem "Long" zusammengesetzt werden und ausgegeben werden.
Stefan hat aber auch recht ;) union { int32_t Zahl; char byte[4]; } u; Solte auch gehen, wenn ich da jetzt keinen Type eingebaut habe... Gruß, Patrick...
@Patrick: ja, so in etwa ... war selber nur zu faul zum hinschreiben ;-)) Stefan
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.