Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 21.07.2012, 17:21
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

devote, насколько я знаю, понятие чётности относится только к целым числам, не?
Ответить с цитированием
  #12 (permalink)  
Старый 21.07.2012, 17:46
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 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.
Ответить с цитированием
  #13 (permalink)  
Старый 21.07.2012, 18:01
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от bes
devote, насколько я знаю, понятие чётности относится только к целым числам, не?
ну дык поэтому я и юзаю везде оператор &, что бы оперировать тока с целыми
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #14 (permalink)  
Старый 22.07.2012, 09:40
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от nerv_ Посмотреть сообщение
да не, нормально. Используется двоичное представление числа. Чтобы было очевидным, можешь в Math добавить : )

bes, да

Math.isEven = function( num ) {
	return !( num & 1 );
};

Math.isOdd = function( num ) {
	return !!( num & 1 );
};

alert( Math.isEven( 11 ) );
alert( Math.isOdd( 11 ) );


Math.isEven = function( num ) {
	return !( num & 1 );
};

Math.isOdd = function( num ) {
*!*
	return !Math.isEven(num);
*/!*
};


не сдержался

Сообщение от devote Посмотреть сообщение
сложно в чем? символ "&" сложный чтоль?
он такой загадочный
Ответить с цитированием
  #15 (permalink)  
Старый 22.07.2012, 09:46
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от melky
не сдержался
да но лишний вызов функции в данном случае ни к чему.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #16 (permalink)  
Старый 22.07.2012, 09:53
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от melky
он такой загадочный
и я понять не могу что в нем не очевидного то? обычное битовое И, проверяет присутствие указанного бита. В нашем случае присутствие первого бита. И если есть первый бит то число однозначно нечетное.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #17 (permalink)  
Старый 22.07.2012, 22:29
Интересующийся
Отправить личное сообщение для leko Посмотреть профиль Найти все сообщения от leko
 
Регистрация: 04.06.2012
Сообщений: 17

Сообщение от devote
и я понять не могу что в нем не очевидного то?
имхо, неочевидное выражение
не знаю как в js, но в других ЯП такую оптимизацию делает компилятор/интерпретатор
x % 2 == 0 => x & 1
Ответить с цитированием
  #18 (permalink)  
Старый 22.07.2012, 22:51
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от leko
но в других ЯП такую оптимизацию делает компилятор/интерпретатор
это я в курсе, и это не ответ на вопрос:
Сообщение от devote
и я понять не могу что в нем не очевидного то?
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #19 (permalink)  
Старый 22.07.2012, 23:21
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от devote Посмотреть сообщение
да но лишний вызов функции в данном случае ни к чему.
однако, это лучше дублирования кода

Сообщение от devote Посмотреть сообщение
и я понять не могу что в нем не очевидного то? обычное битовое И, проверяет присутствие указанного бита. В нашем случае присутствие первого бита. И если есть первый бит то число однозначно нечетное.
со школы мы привыкли, что чётное число - число, делящееся на два без остатка, в этом и суть.

а альтернативные пути через биты приходят уже со временем.
Ответить с цитированием
  #20 (permalink)  
Старый 22.07.2012, 23:38
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от melky
однако, это лучше дублирования кода
спору нет, но не в этом случае... нет смысла вызывать функцию, ради a & 1
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить КОНЧАЕТСЯ ли строка на подстроку? Livaanderiamarum Общие вопросы Javascript 13 07.01.2012 15:29
проверить Object на пустоту KOLANICH Общие вопросы Javascript 8 24.12.2010 20:15
как проверить, есть ли переменная Аскар Общие вопросы Javascript 3 04.01.2010 17:09
Как проверить ссылку на работоспособнось? Oleg_777 Общие вопросы Javascript 23 19.03.2009 18:57
Как проверить существование функции Aderba Общие вопросы Javascript 2 14.11.2008 16:09