Gast
#77679
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
|
Anzeige
|
3 bytes in einen Datentyp
Gast
#77679
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
Gast
#77680
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...
Gast
#77681
Suche mal hier im gcc-Forum nach "union". Damit geht das, was Du willst (wenn ich Dich richtig verstanden habe). Stefan
Gast
#77682
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.
Gast
#77683
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...
Gast
#77684
@Patrick: ja, so in etwa ... war selber nur zu faul zum hinschreiben ;-)) Stefan Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|