
die bitshifter module in core (built in module/bit/bit>> und bit<<) sind in einigen fällen hervorragend als ersatz für multiplikation und division geeignet, wenn eingangswerte integer sind und die ergebnisse vorher auch schon als integer bekannt sind!
da diese module ja nix anderes machen als den anliegenden integer wert in eine binärzahl zu verwandeln und die einzelnen bits nach links/rechts zu verschieben, halbiert man den wert pro bit verschiebung nach rechts bzw. verdoppelt ihn pro bitverscheibung nach links, d.h. angenommen ein wert von 64 liegt am bit>> an und man verschiebt jetzt die bits um eine stelle, liegt am ausgang der wert 32 an, bei 2 stellen der wert 16, bei 3 stellen der wert 8, u.s.w.....
da im prinzip damit nur divisionen und multiplikationen mit durch 2 teilbaren zahlen möglich ist, schränkt das zwar die verwendbarkeit ein, aber ist in vielen fällen immer noch brauchbar, etwa bei der umrechnung von notenwerten u.s.w..... der eigentliche vorteil ist natürlich die cpu ersparnis, da so eine binär operation kaum so viel cpu power saugt, wie eine komplexe rechenprozedur wie etwa die division...