Разработка java | SEclub.org
Разработка java
Все новые
Всего сообщений: 7795
*
Pavlus
6 авг 2010 в 19:47
DDDEN!SSS, мне не нужно, я и с Math поюзаю, а тебе может и пригодится. Замерь оба. Кстати, про тернарный оператор забыли-то, а в стандартном Матсе чёрным по экрану написано:
public static int abs(int i) {
return i >= 0 ? i : -i;
}
а для запяточных так:
public static double abs(double d) {
long bits = Double.doubleToLongBits(d);
bits &= 0x7fffffffffffffffL;
return Double.longBitsToDouble(bits);
}
для float так-же, только патерн короче.
6 авг 2010 в 19:55 / Pavlus (2)
*
Pavlus
6 авг 2010 в 20:03
Вобще полезно почитать исходники стандартных библиотек. Одна строчка
public static native double asin(double d);
чего стоит.
*
aNNiMON
6 авг 2010 в 20:07
Pavlus, seclub.org/forum/goto/11678549/ - да, там много информативных методов есть :-D
*
Pavlus
6 авг 2010 в 20:11
aNNiMON, гы, прочитал описание метода max(double,double), подумал "ОГО :glaza: " написал свой: d1>d2?d1:d2; Пролистнул дальше, и что я вижу? Мои строки, только для int. Зачем с double с NaN заморачивались мне непонятно. :hz:
уже понял. Реализация метода утверждает, что / max(+0.0,-0.0) == +0.0 /
6 авг 2010 в 20:12 / Pavlus (1)
*
aNNiMON
6 авг 2010 в 20:15
Pavlus, нам американский мозг не понять. У них же там всё по умному :-D А у нас всё по быстрому :) И по-моему NaN это не ноль, это неопределенное значение aka бесконечность :)
6 авг 2010 в 20:17 / aNNiMON (1)
*
Pavlus
6 авг 2010 в 20:25
aNNiMON, я думал что ноль тут как не "число ноль", а как "отсутствие числа". Потому так и называется. а вобще не могу представить, как надо записать число, чтоб была возможность иметь +-0. Вспоминая школьный курс: "числа с фиксированной запятой хранятся в виде [мантисса|порядок], а с плавающей - [число без запятой|положение точки]." получается, что мантисса для числа с плавающей пяткой есть число с плавающей запятой, для которого положение запятой всегда равняется единице. Внимание вопрос: как они тогда умудрились сделать простое число с +-0, если оно, по идее, должно записываться в формате [битовый флаг минуса|число] в двоичной системе.
*
Pavlus
6 авг 2010 в 20:27
aNNiMON, а Double.NEGATIVE_INFINITY и Double.POSITIVE_INFINITY тогда равны 0? :gy: Кто-то словил льва инвертацией пространства. :gy:
6 авг 2010 в 20:27 / Pavlus (1)
*
Pavlus
6 авг 2010 в 20:30
вот ещё прикол:
private static native double doPow(double x, double y);
используется в методе pow().
*
aNNiMON
6 авг 2010 в 20:31
Pavlus, seclub.org/forum/goto/11678770/ - честно, о таких впервые слышу О.о Помню, что вроде x/0=Double.NaN, а при делении на ноль получается число, стремящееся к бесконечности. Могу быть не прав.
*
Pavlus
6 авг 2010 в 20:33
aNNiMON, комментов больше чем самого кода www.docjar.com/html/api/java/lang/Math.java.html
*
Pavlus
6 авг 2010 в 20:34
return StrictMath.signum(d); - экономия 8 символов в исходнике юзера. Дорога в ад устлана добрыми намерениями. :demon:
*
aNNiMON
6 авг 2010 в 20:39
Pavlus, а, хрен поймешь :-D Пошел я туда, куда меня отправил M.A.S...
Для полноценного использования разделов сайта войдите или зарегистрируйтесь.
Общие вопросы | Загрузки Seclub | Форум | Главная
18+ © Seclub.org 2003-2026