Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.08.2013, 10:28
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var x =2000000
x = parseInt(2*x/(Math.abs(x)+0.00001));
alert(x)
Ответить с цитированием
  #12 (permalink)  
Старый 30.08.2013, 11:58
Интересующийся
Отправить личное сообщение для КЛ@ВИШ_nick Посмотреть профиль Найти все сообщения от КЛ@ВИШ_nick
 
Регистрация: 25.07.2013
Сообщений: 15

Сообщение от danik.js
Вариант с Math.abs отличный. А зачем там |0 ?
Что будет при делении на 0?
Пример без |0
function sign(x) {
    return x/Math.abs(x) ;
}
alert(sign(0)) ;
Ответить с цитированием
  #13 (permalink)  
Старый 30.08.2013, 12:39
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Вспоминаем математику. Знаком + является и число 0. Так же оно и является отрицательным. Но в математике это опускают. Так что
sign = x<0 ? -1:1;
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #14 (permalink)  
Старый 30.08.2013, 13:33
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от danik.js
А зачем там |0 ?
Ну там просто когда делишь 0 на abs(0), то получается NaN, поэтому так написал.

Вот так для понятности:

Math.sign = function(x) {
   return x / abs(x) || 0;
}

Последний раз редактировалось ruslan_mart, 30.08.2013 в 13:43.
Ответить с цитированием
  #15 (permalink)  
Старый 30.08.2013, 13:42
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от PeaceCoder
Знаком + является и число 0. Так же оно и является отрицательным.
в js есть отрицательный 0.
Сообщение от PeaceCoder
sign = x<0 ? -1:1;
здесь он не учтен.
Ответить с цитированием
  #16 (permalink)  
Старый 30.08.2013, 16:22
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от КЛ@ВИШ_nick
Пример без |0
Блин, точно. Самооценка -= 100500

Сообщение от Riim
в js есть отрицательный 0.
И как он выглядит?
Ответить с цитированием
  #17 (permalink)  
Старый 30.08.2013, 16:50
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

консоли всё равно вроде
0===-0 //true
Ответить с цитированием
  #18 (permalink)  
Старый 30.08.2013, 17:23
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от danik.js
И как он выглядит?
большинство операций приводят его к +0.
Отличить от +0 можно так:
0 === -0;// true
1/0 === 1/-0;// false


В es6 будет Object.is (по сути вот это http://es5.javascript.ru/x9.html#x9.12), который так же будет их различать:
Object.is(0, -0);// false

Последний раз редактировалось Riim, 30.08.2013 в 17:28.
Ответить с цитированием
  #19 (permalink)  
Старый 30.08.2013, 17:41
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

дык при делении на 0 бесконечность будет а не 0
а у бесконечности да, есть знак
Ответить с цитированием
  #20 (permalink)  
Старый 01.09.2013, 13:29
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

Я вот чего понять не могу - зачем изобретать свою математику?
__________________
.ня
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35
Задача: палец > кнопка > div > to >textarea Апельсин Events/DOM/Window 12 19.03.2010 20:40
< input type=file > не попадают в $_FILES ce39 Элементы интерфейса 8 01.10.2009 15:33