Möchte man eine Zahl mit einer Potenz von 2 (2n) multiplizieren, oder dividieren, besteht die Möglichkeit einen Bitshift anzuwenden. Diese Möglichkeit ist performanter als z.B. eine normale Division durch die Zahl. Hier ein einfaches Beispiel des Links-Shifts (<<), welcher der Multiplikation entspricht.
78*4 = 312
Dies könnte man aber auch ellegant über einen Bitshift lösen, da 4 eine Potenz von 2 ist (22)
78<<2 = 312
Hier wird bei der Zahl 78 ein Bitshift von 2 nach links durchgeführt, entspricht also 78*22
Dies geht natürlich auch mit der Division, dafür gibt es den >> (Rechts-Shift) Operator.
312>>2 = 78
Hier noch eine Grafik zur Verdeutlichung des Links-Shifts:

Wie man sieht, befinden wir uns also auf der binären Ebene. Die Ziffern werden einfach alle um 2 Stellen nach Links verschoben. Anfangs stehen dort Nullen als Platzhalter, diese werden einfach entsprechend hinten angehängt.
Hier noch ein Benchmarktest, bei 10.000 Durchläufen.
Bitshift: 0.0068781375885s
Verhältnis zum Schnellsten: 100%
Normale Rechnung: 0.00870299339294s
Verhältnis zum Schnellsten: 126.5%
Man sollte nach Möglichkeit also immer Bitshifts verwenden. Es gibt kaum noch Programmiersprachen, in denen dies nicht möglich ist!

