Запитання з тегом «floating-point»

Числа з плаваючою комою - це наближення реальних чисел, які можуть представляти великі діапазони, ніж цілі числа, але використовують той же об'єм пам'яті, ціною меншої точності. Якщо ваше запитання стосується невеликих арифметичних помилок (наприклад, чому 0,2 + 0,1 дорівнює 0,300000001?) Або десяткових помилок перетворення, будь ласка, прочитайте сторінку "інформація", що посилається нижче перед публікацією.

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 


6
Чому зміна порядку доходу повертає інший результат?
Чому зміна порядку доходу повертає інший результат? 23.53 + 5.88 + 17.64 = 47.05 23.53 + 17.64 + 5.88 = 47.050000000000004 І Java, і JavaScript дають однакові результати. Я розумію, що через те, як числа з плаваючою комою представлені у двійкових, деякі раціональні числа ( наприклад, 1/3 - 0,333333 ... …

2
Чому деякі порівняння з плаваючими <цілими числами в чотири рази повільніше, ніж інші?
Порівнюючи поплавці з цілими числами, для деяких пар значень потрібно набагато більше часу, ніж інші значення аналогічної величини. Наприклад: &gt;&gt;&gt; import timeit &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953421000") # run 1 million times 0.5387085462592742 Але якщо флоат або ціле число на певну суму зменшиться або збільшиться, порівняння запускається набагато швидше: &gt;&gt;&gt; timeit.timeit("562949953420000.7 …

19
Чому десяткові числа не можуть бути представлені точно у двійковій формі?
До СО було поставлено кілька питань щодо представлення з плаваючою комою. Наприклад, десяткове число 0,1 не має точного двійкового зображення, тому для порівняння з іншим числом з плаваючою комою небезпечно використовувати оператор ==. Я розумію принципи, що стоять за поданням з плаваючою комою. Що я не розумію, це те, чому …

3
Float vs Decimal в ActiveRecord
Іноді типи даних Activerecord мене бентежать. Помилка, часто. Одне з моїх вічних питань - для даного випадку, Чи варто використовувати :decimalабо :float? Я часто стикався з цим посиланням, ActiveRecord:: decimal vs: float? , але відповіді не досить чіткі, щоб я був певним: Я бачив багато ниток, де люди рекомендують виводити …



12
Яке обґрунтування для всіх порівнянь, що повертають помилкові значення IEEE754 NaN?
Чому порівняння значень NaN поводиться по-різному від усіх інших значень? Тобто всі порівняння з операторами ==, &lt;=,&gt; =, &lt;,&gt; де одне або обидва значення NaN повертає помилково, всупереч поведінці всіх інших значень. Я вважаю, що це певним чином спрощує чисельні обчислення, але я не зміг знайти чітко вказану причину, навіть …

12
Коли я повинен використовувати подвійний замість десяткових?
Я можу назвати три переваги використання double(або float) замість decimal: Використовує менше пам'яті. Швидше, оскільки математичні операції з плаваючою комою підтримуються процесорами. Може представляти більший діапазон чисел. Але ці переваги, здається, застосовуються лише до обчислювальних інтенсивних операцій, таких як ті, які знайдені в програмі моделювання. Звичайно, парні не слід використовувати, …

9
Коли я повинен використовувати ключове слово "strictfp" у Java?
Я роздивився, що це робить, але чи справді хтось має приклад, коли ви використовували strictfpключове слово на Java? Хтось насправді знайшов для цього застосування? Чи будуть якісь побічні ефекти просто нанести це на всі мої операції з плаваючою точкою?

9
Який тип даних MySQL слід використовувати для Latitude / Longitude з 8 десятковими знаками?
Я працюю з картографічними даними і Latitude/Longitudeрозширюється на 8 знаків після коми. Наприклад: Latitude 40.71727401 Longitude -74.00898606 Я бачив у документі Google, який використовує: lat FLOAT( 10, 6 ) NOT NULL, lng FLOAT( 10, 6 ) NOT NULL однак їх десяткові місця знаходяться лише до 6. Чи слід використовувати FLOAT(10, …



22
Отримайте десяткову частину числа за допомогою JavaScript
У мене є плаваючі числа, як 3.2і 1.6. Мені потрібно відокремити число на цілу і десяткову частину. Наприклад, значення 3.2поділиться на два числа, тобто 3і0.2 Отримати частину цілого числа просто: n = Math.floor(n); Але у мене виникають проблеми з отриманням десяткової частини. Я спробував це: remainer = n % 2; …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.