Вопросы с тегом «ieee-754»

IEEE 754 является наиболее распространенным и широко используемым стандартом с плавающей запятой, в частности, двоичный 32 с одинарной точностью, также известный как форматы с плавающей запятой, и двоичный 64 с двойной точностью, также известный как двойные форматы.

300
Почему NaN - NaN == 0.0 с компилятором Intel C ++?

Хорошо известно, что NaN распространяются в арифметике, но я не смог найти никаких демонстраций, поэтому я написал небольшой тест: #include <limits> #include <cstdio> int main(int argc, char* argv[]) { float qNaN = std::numeric_limits<float>::quiet_NaN(); float neg = -qNaN; float...

267
Каково обоснование для всех сравнений, возвращающих false для значений NaN IEEE754?

Почему сравнения значений NaN ведут себя иначе, чем все другие значения? То есть все сравнения с операторами ==, <=,> =, <,>, где одним или обоими значениями является NaN, возвращают false, что противоречит поведению всех других значений. Я предполагаю, что это каким-то образом упрощает...

220
Float и двойной тип данных в Java

Тип данных с плавающей запятой - это 32-битная плавающая точка IEEE 754 с одинарной точностью, а тип данных с двойной точностью - 64-битная плавающая точка IEEE 754 с двойной точностью. Что это означает? И когда я должен использовать float вместо double или...

164
Какое первое целое число, которое IEEE 754 не может точно представить?

Для ясности, если я использую язык, который реализует плавающие объекты IEE 754, и я объявляю: float f0 = 0.f; float f1 = 1.f; ... а затем распечатать их обратно, я получу 0,0000 и 1,0000 - точно. Но IEEE 754 не способен представлять все числа вдоль реальной линии. Близко к нулю, «пробелы» малы; по...

158
Почему значение с плавающей точкой 4 * 0.1 выглядит хорошо в Python 3, а 3 * 0.1 - нет?

Я знаю, что большинство десятичных чисел не имеют точного представления с плавающей запятой (математика с плавающей запятой не работает? ). Но я не понимаю , почему 4*0.1печатается хорошо , как 0.4, но 3*0.1это не так , когда оба значения фактически имеют уродливые десятичные представления:...

155
Согласна ли математика с плавающей точкой в ​​C #? Может ли это быть?

Нет, это не другой вопрос «Почему (1 / 3.0) * 3! = 1» . В последнее время я много читаю о числах с плавающей запятой; в частности, как один и тот же расчет может дать разные результаты для разных архитектур или настроек оптимизации. Это проблема для видеоигр, в которых хранятся повторы или они...

131
Можно ли получить 0, вычитая два неравных числа с плавающей запятой?

Можно ли в следующем примере получить деление на 0 (или бесконечность)? public double calculation(double a, double b) { if (a == b) { return 0; } else { return 2 / (a - b); } } В обычных случаях, конечно, не будет. Но что, если aи bочень близки, может(a-b) быть 0связано с точностью расчета?...

115
Манипуляции с типами и (строгие) сравнения больше / меньше в PHP

PHP известен своим манипуляциями с типами. Я должен признать, что это меня озадачивает, и мне трудно понять основные логические / фундаментальные вещи в сравнениях. Например: если $a > $bверно и $b > $cверно, должно ли это означать, что $a > $cэто всегда верно? Следуя базовой логике, я бы...

106
В чем разница между тихим NaN и сигнальным NaN?

Я читал о числах с плавающей запятой и понимаю, что NaN может быть результатом операций. Но я не могу понять, что именно это за концепции. В чем разница между ними? Какой из них можно создать при программировании на C ++? Могу ли я как программист написать программу, вызывающую сигнал SNAN?...

82
Что такое субнормальное число с плавающей запятой?

Справочная страница isnormal () сообщает: Определяет, является ли данное число с плавающей запятой arg нормальным, т. Е. Не равно нулю, субнормальному, бесконечному или NaN. Число, равное нулю, бесконечности или NaN, ясно, что это означает. Но это также говорит о субнормальном. Когда число...

12
Разрешено ли двигателям JS менять биты NaN?

В JavaScript значение NaN может быть внутренне представлено широким диапазоном 64-битных двойных чисел. В частности, любой дубль со следующим побитовым представлением: x111 1111 1111 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx Это интерпретируется как NaN. Мой вопрос:...