Запитання з тегом «ieee-754»

IEEE 754 - найпоширеніший і широко використовуваний стандарт із плаваючою комою, зокрема одноточний binary32 aka float та подвійний точний binary64 aka dvojний формат.

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
Яке обґрунтування для всіх порівнянь, що повертають помилкові значення IEEE754 NaN?
Чому порівняння значень NaN поводиться по-різному від усіх інших значень? Тобто всі порівняння з операторами ==, <=,> =, <,> де одне або обидва значення NaN повертає помилково, всупереч поведінці всіх інших значень. Я вважаю, що це певним чином спрощує чисельні обчислення, але я не зміг знайти чітко вказану причину, навіть …


9
Плаваючий та подвійний тип даних на Java
Тип даних поплавця - це одноточна 32-бітна плаваюча точка IEEE 754, а подвійний тип даних - це 64-розрядна плаваюча точка IEEE 754 з подвоєною точністю. Що це означає? І коли я повинен використовувати float замість подвійного чи навпаки?

2
Яке перше ціле число, яке плавець IEEE 754 не в змозі точно представляти?
Для наочності, якщо я використовую мову, яка реалізує плавні IEE 754, і я заявляю: float f0 = 0.f; float f1 = 1.f; ... а потім надрукуйте їх назад, я отримаю 0,0000 та 1,0000 - точно. Але IEEE 754 не здатний представляти всі числа по реальній прямій. Близько до нуля "прогалини" …

4
Чому в Python 3 добре виглядає значення з плаваючою комою 4 * 0,1, але 3 * 0,1 не відповідає?
Я знаю, що більшість десяткових знаків не мають точного подання з плаваючою комою ( Чи порушена математика з плаваючою комою? ). Але я не бачу, чому так 4*0.1добре друкується 0.4, але 3*0.1ні, коли обидва значення насправді мають некрасиві десяткові зображення: >>> 3*0.1 0.30000000000000004 >>> 4*0.1 0.4 >>> from decimal import …

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дуже близькі, може …

3
Жонглювання типу та (суворі) більше / менше порівнянь у PHP
PHP славиться своїми типами жонглювання. Я мушу визнати, що це спантеличує мене, і мені важко з’ясувати основні логічні / фундаментальні речі при порівнянні. Наприклад: Якщо $a > $bправда і $b > $cправда, чи має це означати, що $a > $cце завжди правда? Дотримуючись основної логіки, я б сказав " так", …


2
Яка різниця між тихим NaN і сигнальним NaN?
Я читав про плаваючу крапку і розумію, що NaN може бути результатом операцій. Але я не можу зрозуміти, що це саме за поняття. У чому різниця між ними? Яку можна створити під час програмування на C ++? Як програміст, чи можу я написати програму, яка викликає sNaN?

3
Що таке субнормальне число з плаваючою точкою?
Довідкова сторінка isnormal () повідомляє: Визначає, чи задане число з плаваючою комою arg є нормальним, тобто не є ні нульовим, ні нормальним, нескінченним, ні NaN. Число, яке дорівнює нулю, нескінченному чи NaN, зрозуміло, що воно означає. Але це також говорить про ненормальне. Коли число ненормальне?

7
Який діапазон чисел можна представити в 16-, 32- та 64-розрядних системах IEEE-754?
Я трохи знаю про те, як представлені числа з плаваючою комою, але, боюся, недостатньо. Загальне питання: Для заданої точності (для моїх цілей кількість точних десяткових знаків у базі 10), який діапазон чисел може бути представлений для 16-, 32- та 64-розрядних систем IEEE-754? Зокрема, мене цікавить лише діапазон 16-розрядних та 32-розрядних …

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