Hallo,
ich möchte den Inhalt eines uint8-Arrays in eine uint32-Variable
speichern.
Bsp:
uint8_t array[6] = {1,2,3,4,5,6};
uint32_t = 123456
Wie mache ich das?
Ausrechnen.
Fast. Ein UInt8 belegt 8 bit, ein UInt32 belegt 32 bit. Das bedeutet, eine UInt32 kann nur 4 Uint8 beinhalten
m. g. schrieb: > Hallo, > > ich möchte den Inhalt eines uint8-Arrays in eine uint32-Variable > speichern. > > Bsp: > > uint8_t array[6] = {1,2,3,4,5,6}; > > uint32_t = 123456 > > Wie mache ich das?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Rufus Τ. F. schrieb: > Ausrechnen. z.b. unter Verwendung des Horner-Schemas:
1 | |
2 | |
3 | |
das gleiche mit ausgerollter Schleife:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
https://de.wikipedia.org/wiki/Horner-Schema
Gast
#4392312
Was du willst ist die Umwandlung einer Dezimalzahl in eine Binärzahl.
Bist du sicher dass in deinem Array:
uint8_t array[6] = {1,2,3,4,5,6};
nicht steht: {'1','2','3','4','5','6'}?
Egal, auf jeden Fall sind deine Hausaufgaben gelöst.
Super! Danke für die Hilfe!
Gast
#4392384
mach einfach uint32_var = *(uint32*)&array[0] dann brauchst du nicht mal alle 6 Bytes
Stefan schrieb: > mach einfach > uint32_var = *(uint32*)&array[0] Darüber solltest du noch mal nachdenken.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.