Zitat von
V4|n4r
Zitat von
-[RiDER
-]Auch intressant fände ich eine binäre verschiebung bei multiplikationen mit einer potenz von zwei. geht ca. 300% schneller als eine normale muiltiplikation.
Ähh, was ? :?
Hähä!!
Code:
int zahl = 5;
zahl = zahl << 2; //Zahl wird mit 4 (2² = 4) multipliziert, ergebnis is 20
So siehts in c++ aus
und so funktionierts:
Code:
v v
00000101b = 5 dezimal
00010100b = 20 dezimal
^ ^
die binären werte des bytes werden um zwei bits nach links verschoben (betrachte die mit pfeilchen versehenen einsen). die werte, die "rausgeschoben" werden sind halt wech, die stellen, die rechts hinzukommen werden mit nullen gefüllt.
so kann man extrem schnell multiplizieren. mit inline asm gehts dann sogar noch mal schneller
du müsstest übrigens mal noch nen "division by zero"-Schutz enbauen
MfG RiDER