005
02.10.2009, 18:07 Uhr
Lensflare
|
Wenn du den Wert 0x5A0400 in eine Variable speicherst, die Platz für 8 hex Werte (oder mehr) bietet, dann wird das von alleine schon als 0x005A0400 gespeichert. Die führenden Nullen muss man nicht angeben.
C++: |
unsigned int a1 = 0x5A0400; unsigned int a2 = 0x005A0400; // a1 und a2 sind gleich
|
Wenn du 8 hex Werte hast und du willst nur die ersten 6 hex werte davon nehmen, dann kannst du mit dem "bitwise AND" operator den 7. und 8. hex wert auf 0 setzen:
C++: |
unsigned int a1 = 0x785A0400; unsigned int a2 = a1 & 0x00FFFFFF; // a2 ist nun 0x005A0400
|
Mehr Infos über dein Vorhaben könnten auch nicht schaden Denn sonst ergibt es wenig Sinn, was du vorhast. Du hast 6 Stellen und willst diese in eine Struktur speichern, die 8 Stellen Platz bietet. 2 Stellen bleiben übrig. Was soll damit passieren? Sollen diese mit 0 gefüllt werden? Wie sieht die Struktur aus? Wo kommt der 6stellige Wert her? -- Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten. (Emerson Pugh Trost) Dieser Post wurde am 02.10.2009 um 18:08 Uhr von Lensflare editiert. |