Jakiś czas temu widziałem gdzieś sztuczkę do wykonywania operacji modulo za pomocą operatorów bitowych. Ale teraz nie mogę w żaden sposób wykonać właściwej operacji. Ktoś wie, jak to zrobić? Z tego co pamiętam było szybsze niż użycie%.Inne sposoby wykonywania operacji modulo
5
A
Odpowiedz
8
„trick” ma wartość binarną AND
z 1. Każda liczba nieparzysta musi mieć pierwszy bit ustawiony na 1.
So
var foo = 7;
if(foo & 1) { // true
}
Korzystanie bitowego i ma lepszą wydajność w prawie wszystkie platformy/przeglądarki.
for(var loop = 0; loop < 10; loop++) {
if(loop & 1) {
console.log('I am ', loop, ' and I am odd!');
}
}
8
Można zrobić modulo 2^k (o mocy 2) poprzez logiczne jakiegokolwiek swoją wartość z (2^k) -1.
+1
+1, ale tylko dla liczb pozytywnych –
Powiązane problemy
- 1. Modulo i kolejność operacji w Pythonie
- 2. Prawidłowy sposób wykonywania operacji na macierzach Memmapped
- 3. Operacja zmiennoprzecinkowa Modulo
- 4. nodejs: Poczekaj na inne sposoby, aby zakończyć przed wykonaniem
- 5. Obliczanie wyrażeń modulo n
- 6. Sposoby mierzenia zużycia pamięci podczas wykonywania testów JUnit
- 7. Ogólna metoda wykonywania operacji zmniejszania mapy. (Java-8)
- 8. DragDrop.DoDragDrop nie wraca podczas wykonywania operacji upuszczania w programie Excel
- 9. Pytanie operatora modulo Perl
- 10. PHP Modulo Decimal
- 11. Sposoby obliczania podobieństwa
- 12. Modulo negatywnych dywidend w Pythonie
- 13. Sposoby poprawy wydajności przewijania UIWebView?
- 14. Sposoby przyspieszenia WebRequests?
- 15. sposoby przyspieszenia sortowania zliczającego
- 16. Różne sposoby tworzenia HashMaps
- 17. Testowanie kuriozum liczby całkowitej z operatorem modulo
- 18. Modulo% z dużą liczbą - Błąd nieskończoności - JavaScript
- 19. Implementacja operatora modulo jako funkcji w C
- 20. Szybkie mnożenie i odejmowanie modulo a prime
- 21. Jak zrobić modulo lub pozostać w Erlangu?
- 22. Numpy matrix power/exponent with modulo?
- 23. Piętro (X) modulo X to X?
- 24. Język składania - jak to zrobić Modulo?
- 25. Fast modulo 3 lub algorytm podziału?
- 26. Uruchamianie długiej operacji w javascript?
- 27. Sposoby implementacji dużego okna dialogowego ustawień z WPF i MVVM
- 28. Najłatwiejsze sposoby generowania wykresów z Pythona?
- 29. Najszybsze sposoby na przyspieszenie aplikacji YII?
- 30. Rozładowanie agenta JVMTI w czasie wykonywania?
http://pl.wikipedia.org/wiki/Modulo_operation#Performance_issues - dla uprawnień 2. –
Ładne pytanie, sprawdziłem tutaj: http://jsperf.com/js-modulo i odpowiedzi w dół wydają się dobre! – TTT