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

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

3
Почему 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 sub1 = 6.0f - qNaN; float sub2 = qNaN - 6.0f; float …
300 c++  c  floating-point  ieee-754  icc 

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


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

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

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

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

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

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

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


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

3
Разрешено ли двигателям JS менять биты NaN?
В JavaScript значение NaN может быть внутренне представлено широким диапазоном 64-битных двойных чисел. В частности, любой дубль со следующим побитовым представлением: x111 1111 1111 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx Это интерпретируется как NaN. Мой вопрос: предположим, что я приведу две 32-битные уинты …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.