13.06.2012, 23:35
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Ксать, раз такая тема
Не поделитесь самым коротким кодом определения : Чёт/Нечёт (Часто востребовано...
|
|
13.06.2012, 23:42
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Deff
|
Не поделитесь самым коротким кодом определения : Чёт/Нечёт (Часто востребовано...
|
function isEvenNumber( num ) { return !(num & 1) }
alert([
isEvenNumber( 1 ),
isEvenNumber( 2 ),
isEvenNumber( 3 ),
isEvenNumber( 4 ),
isEvenNumber( 5 ),
isEvenNumber( "4" ),
isEvenNumber( "5" ),
isEvenNumber( 1.1 ),
isEvenNumber( 2.1 )
].join("\n"));
|
|
13.06.2012, 23:46
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
devote,
Спасибо, а есть еще варианты ? (В микроассеблере самый короткий сдвигом разряда
|
|
13.06.2012, 23:47
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Deff
|
а есть еще варианты ?
|
а куда еще короче то? обычная проверка наличия первого бита.
|
|
13.06.2012, 23:48
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от devote
|
а куда еще короче то? обычная проверка наличия первого бита.
|
ясн (еще не юзал такое
Ксать второй вопрос был более не про длину уже, а нечно подобное(Желательно и для ИЕ
isEvenNumber( num ) у мну в ИЕ не пашет
Последний раз редактировалось Deff, 13.06.2012 в 23:53.
|
|
14.06.2012, 01:24
|
Профессор
|
|
Регистрация: 31.05.2012
Сообщений: 396
|
|
Сообщение от Deff
|
var bla = 0.0000001;
if ( ((1+bla)+"").indexOf(".") > 0 ) {
alert("bla не целое число");
} else {
alert("bla целое число");//этот работает
}
|
Подставьте bla=1e-16
Сообщение от Devote
|
var bla = 4.0;
if ( parseInt( bla ) != bla ) {
alert("bla не целое число");
} else {
alert("bla целое число");
}
|
Это тоже неправильно, подставьте bla=1e21
Последний раз редактировалось oneguy, 14.06.2012 в 01:27.
|
|
14.06.2012, 05:37
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от oneguy
|
... Это тоже неправильно, подставьте bla=1e21
|
Ну подстваил, и что я должен увидеть?
var bla = 1e21;
if ( parseInt( bla ) != bla ) {
alert("bla не целое число");
} else {
alert("bla целое число");
}
|
|
14.06.2012, 09:55
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от devote
|
function isEvenNumber( num ) { return !(num & 1) }
alert([
isEvenNumber( 1 ),
isEvenNumber( 2 ),
isEvenNumber( 3 ),
isEvenNumber( 4 ),
isEvenNumber( 5 ),
isEvenNumber( "4" ),
isEvenNumber( "5" ),
isEvenNumber( 1.1 ),
isEvenNumber( 2.1 )
].join("\n"));
|
я так понимаю с нецелыми числами оно работать не должно априори
function isEvenNumber( num ) { return !(num & 1) }
alert([
isEvenNumber( 2.7 ),
isEvenNumber( 2.8 )
].join("\n"));
на солнце перегрелся
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Последний раз редактировалось nerv_, 14.06.2012 в 10:03.
|
|
14.06.2012, 10:41
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от nerv_
|
я так понимаю с нецелыми числами оно работать не должно априори
|
для не целых чисел используется другой алгорит хранения дынных в памяти, а он проверяет бит в на уровне целого числа.
|
|
14.06.2012, 10:50
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
devote, спасибо за ответ) Я это уже понял, поэтому и написал, что
Сообщение от nerv_
|
на солнце перегрелся
|
но пост решил оставить. Поразрядные операторы работают только с целыми. Т.е. дробная часть попросту будет отброшена.
извините )
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Последний раз редактировалось nerv_, 14.06.2012 в 10:52.
|
|
|
|