21.07.2012, 17:21
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
devote, насколько я знаю, понятие чётности относится только к целым числам, не?
|
|
21.07.2012, 17:46
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от FINoM
|
Не очевидно.
|
да не, нормально. Используется двоичное представление числа. Чтобы было очевидным, можешь в Math добавить : )
bes, да
Math.isEven = function( num ) {
return !( num & 1 );
};
Math.isOdd = function( num ) {
return !!( num & 1 );
};
alert( Math.isEven( 11 ) );
alert( Math.isOdd( 11 ) );
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Последний раз редактировалось nerv_, 21.07.2012 в 18:17.
|
|
21.07.2012, 18:01
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от bes
|
devote, насколько я знаю, понятие чётности относится только к целым числам, не?
|
ну дык поэтому я и юзаю везде оператор &, что бы оперировать тока с целыми
|
|
22.07.2012, 09:40
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
|
|
22.07.2012, 09:46
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от melky
|
не сдержался
|
да но лишний вызов функции в данном случае ни к чему.
|
|
22.07.2012, 09:53
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от melky
|
он такой загадочный
|
и я понять не могу что в нем не очевидного то? обычное битовое И, проверяет присутствие указанного бита. В нашем случае присутствие первого бита. И если есть первый бит то число однозначно нечетное.
|
|
22.07.2012, 22:29
|
Интересующийся
|
|
Регистрация: 04.06.2012
Сообщений: 17
|
|
Сообщение от devote
|
и я понять не могу что в нем не очевидного то?
|
имхо, неочевидное выражение
не знаю как в js, но в других ЯП такую оптимизацию делает компилятор/интерпретатор
x % 2 == 0 => x & 1
|
|
22.07.2012, 22:51
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от leko
|
но в других ЯП такую оптимизацию делает компилятор/интерпретатор
|
это я в курсе, и это не ответ на вопрос:
Сообщение от devote
|
и я понять не могу что в нем не очевидного то?
|
|
|
22.07.2012, 23:21
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от devote
|
да но лишний вызов функции в данном случае ни к чему.
|
однако, это лучше дублирования кода
Сообщение от devote
|
и я понять не могу что в нем не очевидного то? обычное битовое И, проверяет присутствие указанного бита. В нашем случае присутствие первого бита. И если есть первый бит то число однозначно нечетное.
|
со школы мы привыкли, что чётное число - число, делящееся на два без остатка, в этом и суть.
а альтернативные пути через биты приходят уже со временем.
|
|
22.07.2012, 23:38
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от melky
|
однако, это лучше дублирования кода
|
спору нет, но не в этом случае... нет смысла вызывать функцию, ради a & 1
|
|
|
|