делает что-то необычным, но эффективным способом

Я смотрел видео сегодня, и парень на видео просто напишет это, чтобы понять, четное число или нет:

number/2*2 == number ? true : false ; 

Я попробовал, когда вернулся домой и по сравнению с

number % 2 == 0 ? true : false ; 

Второй был быстрее, чем я изменил первый:

number>>1<<1 == number ? true : false; 

на этот раз сдвиг числа один раз вправо и один раз влево работал быстрее: D Разница в производительности не огромна, всего 0–1 секунда для определения всех чисел. от 1 до 1000000000, но мне это очень понравилось, и я хотел услышать от вас такие трюки.

и что еще? =)

и еще одна идея от Рассела Борогова =)

(number&1) == 0;

Результаты:

Прошедшее время и работа: 00: 00: 07.0504033
Время, прошедшее при смене: 00: 00: 06.4653698
Время, прошедшее с модификацией: 00: 00: 06.8323908

Удивительно, что сдвиг в два раза быстрее, чем один и операция на моем компьютере.

7
задан skaffman 24 March 2011 в 11:13
поделиться