Bitschieberei
-
Nehmen wir an, ich habe folgende Bitfolge:
1111.1101.1111.0000Jetzt möchte ich die niederwertigen Bits 4 bis 9 in einen 8Bit breiten Typ kopieren.
1111.11>>01.1111<<.0000
Wenn ich jetzt einfach 4 Stellen nach rechts shifte, habe ich ja noch die 2 Bits bis zum vollen Byte dabei. Ich könnte 2 mal jeweils um 2 Stellen shiften, und hätte ein korrektes Ergebnis. Wie macht man das "fachmännisch" ?
-
Ausmaskieren mit AND 1111.1101.1111.0000 & 0000.0011.1111.0000 = 0000.0001.1111.0000 //Nu haste die gesuchten Bits Und shiften 0000.0001.1111.0000 >> 4 = 0000.0000.0001.1111
Oder erst shiften und dann maskieren.
-
Mhmm eigentlich ganz logisch ... danke