Auf Thema antworten

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 ;))



Oben