Eben nicht:
0. Bit = Bit 0
1. Bit = Bit 1
2. Bit = Bit 2
Damit
Code:
3210
0. Bit = 1 shl 0 = 1 = 1 shl Bit 0 = 0001 = 2^0
1. Bit = 1 shl 1 = 2 = 1 shl Bit 1 = 0010 = 2^1
2. Bit = 1 shl 2 = 4 = 1 shl Bit 2 = 0100 = 2^2
3. Bit = 1 shl 3 = 8 = 1 shl Bit 3 = 1000 = 2^3
Es geht also darum das der Bit Index von 0 bis 31 geht damit der Shift = Bitnummer wird.
Du, bzw. Sakuras Tut sagt aber.
1. Bit = Bit 0
2. Bit = Bit 1
3. Bit = Bit 2
dies widerspricht sich, man könnte meinen das ich da ein Krümelkacker bin
Allerdings zeigt obige Tabelle sehr schön wie einfach sich alles merken lässt wenn man immer mit 0 basiertem Bitindex arbeitet, und mathematisch gesehen gibt es nur eine korrekte Bitnummerierung die von 0 bis 31 geht. Bei deiner Zählung wäre das
Code:
3210
1. Bit = 1 shl 0 = 1 = 1 shl Bit 0 = 0001 = 2^0
2. Bit = 1 shl 1 = 2 = 1 shl Bit 1 = 0010 = 2^1
3. Bit = 1 shl 2 = 4 = 1 shl Bit 2 = 0100 = 2^2
4. Bit = 1 shl 3 = 8 = 1 shl Bit 3 = 1000 = 2^3
???
Gruß Hagen