Gast
#2106141
Abend! Was ist den der effizienteste Weg eine uint32_t Variable in 4 uint8_t zu zerteilen, bzw. zusammenzufügen?
|
Anzeige
|
uint32_t auftrennen und wieder zusammenfügen
Gast
#2106141
Abend! Was ist den der effizienteste Weg eine uint32_t Variable in 4 uint8_t zu zerteilen, bzw. zusammenzufügen?
Gast
#2106142
union?
Gast
#2106146
Ich habe zu mindestens gelesen, dass man unions in der Beziehung meiden sollte. Ich denke das häng vom verwendeten System/Prozessor ab. Also entweder shifts, oder im memory ablegen, z.B. mittels union. Im Zweifelsfall einfach ausprobieren ! Überleg dir, wie du eine Dezimalzahl in ihre Ziffern zerlegst bzw. wieder zusammensetzt. Dann nimm als nicht 10 als Basis des Zahlensystems, sondern 256. Violà. Mit Bitschuften?
Gast
#2106176
Die Frage kann man eigentlich nur beantworten, wenn man sich das Assembler-Listing anschaut. Man kann schließlich nicht wissen, was der Compiler macht. Ähm ja. Die Indizes sind natürlich falsch, es soll 0 1 2 3 gehen und nicht 0 1 3 4. >effizient
Effizient in Bezug worauf? Laufzeit? Speicherbedarf? Stromverbrauch?
Arbeitsplatzsicherung? ;)
Bitschuften ;) ist portabel und lesbar und ich vermute, dass der GCC das
wunderbar optimieren kann, wenn man ihm das sagt (-O). Ich mache es drum
immer so, wie Mark es beschrieben hat.
Wenn die endianness bekannt ist, die Wartbarkeit und Portabilität egal
sind: union.
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|