Geht es schneller ??? * 10
Allgemein C# .Net Mathematik
Angenommen, man soll einen ganz normale ganze Zahl > 0 mit 10 multiplizieren.....
Dann ist man ja geneigt folgenden Code zu benutzen ->
result = k * 10
Jupp...
Kategorie Angenommen, man soll einen ganz normale ganze Zahl > 0 mit 10 multiplizieren.....
Dann ist man ja geneigt folgenden Code zu benutzen ->
result = k * 10
Jupp...
Wenn man diese Operation 100.000.000
ausführt, dann dauert dies auf meinem
Rechner ziemlich genau 1,2 Sekunden und ein paar hunderstel .....
OK, ist ja nicht viel, trotzdem die Frage geht es schneller?
Ja es geht, denn 10 = 8 + 2 also ist 10 * k = 8 * k + 2 * k = k << 3 + k << 1
Hier habe ich es nun nur noch mit Bit-Shift Operationen zu tun
Nun dauert die Ausführung nur noch 0,6 Sekunden und ein paar hunderstel ....
Immerhin 50% Zeit gespart ....
Gruß JJR
OK, ist ja nicht viel, trotzdem die Frage geht es schneller?
Ja es geht, denn 10 = 8 + 2 also ist 10 * k = 8 * k + 2 * k = k << 3 + k << 1
Hier habe ich es nun nur noch mit Bit-Shift Operationen zu tun
Nun dauert die Ausführung nur noch 0,6 Sekunden und ein paar hunderstel ....
Immerhin 50% Zeit gespart ....
Gruß JJR
Kommentare
Erstellt von Sascha Goebel um 02:56:49 PM am 07/20/2011 | - Website - |