Dann will ich auch nochmal ein Beispiel posten, wo es einfach nur praktisch ist, die bit-Operatoren zu nutzen:
GPU Gems 3: Chapter 1. Generating Complex Procedural Terrains Using the GPU | NVIDIA Developer Zone
In Abschnitt 1.2 soll man für jede Ecke des Quaders eine Stelle der Binärzahl auf 1 oder 0 setzen, je nach Ergebnis. Die resultierende Zahl dient dann weiter um passende Dreiecke aus einem Array auszuwählen. Man kann diese boolean-Werte, die man in den einzelnen Stellen hat, also direkt zusammengefasst nutzen.
In diesem speziellen Fall könnte man auch einfach immer +1, +2, +4, +8 rechnen, aber | (1<<0), |(1<<1), |(1<<2) ginge auch und man weiß dann eben sicher: Da verändere ich genau dieses eine Bit und kann die Position direkt ablesen. (Und es ist sogar ganz minimal schneller, grad paar Durchläufe getestet)
@Marco: Tatsache, die Variante von dir zum Testen auf Gerade oder Ungerade ist auch wieder schneller und danke für den Link
(Ist gut für meine Project Euler Programme, da versuch ich immer das Maximum an Geschwindigkeit rauszuholen
)