ich ein Video heute beobachtet und den Mann in dem Video nur das schreiben, zu verstehen, ob eine Zahl gerade oder nicht:etwas zu tun, in einer ungewöhnlichen, aber effiziente Art und Weise
number/2*2 == number ? true : false ;
ich es versucht, wenn ich nach Hause kam und verglichen mit
number % 2 == 0 ? true : false ;
war der zweite schneller als ich die erste als geändert:
number>>1<<1 == number ? true : false;
dieses t Ich habe die Zahl einmal nach rechts und einmal nach links verschoben. D Der Leistungsunterschied ist nicht riesig nur 0-1 Sekunden für die Identifizierung aller Zahlen zwischen 1 und 1000000000, aber ich mochte es sehr und wollte solche Tricks hören von dir.
also was noch? =)
und eine andere Idee von Russell Borogove =)
(number&1) == 0;
Ergebnisse:
Abgelaufene Zeit mit und Betrieb: 00: 00: 07.0504033
Zeit mit Schichtbetrieb Abgelaufene: 00: 00: 06.4653698
Abgelaufene Zeit mit Mod Operation: 00: 00: 06,8323908
Überraschenderweise Verschiebung zweimal arbeitet schneller als eine einzige und Betrieb auf meinem Computer.
Was ist los mit 'even = (Zahl & 1) == 0'? –