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

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

7
У ролях до int vs floor
Чи є різниця між цими: float foo1 = (int)(bar / 3.0); float foo2 = floor(bar / 3.0); Як я розумію, обидва випадки мають однаковий результат. Чи є різниця в складеному коді?
120 c++  c  floating-point 

5
Незвичайний швидкий зворотний квадратний корінь Джона Кармака (Quake III)
Джон Кармак має спеціальну функцію у вихідному коді Quake III, яка обчислює зворотний квадратний корінь поплавця, в 4 рази швидше, ніж звичайний (float)(1.0/sqrt(x)), включаючи дивну 0x5f3759dfконстанту. Дивіться код нижче. Чи може хтось пояснити по черзі, що саме тут відбувається і чому це працює так швидше, ніж звичайна реалізація? float Q_rsqrt( …

29
Обрізання плаває в Python
Я хочу видалити цифри з поплавця, щоб мати фіксовану кількість цифр після крапки, наприклад: 1.923328437452 -> 1.923 Мені потрібно виводити як рядок до іншої функції, а не друкувати. Також я хочу ігнорувати втрачені цифри, а не округляти їх.

7
Перетворення рядка для плавання в C #
Я перетворюю рядок типу "41.00027357629127", і я використовую; Convert.ToSingle("41.00027357629127"); або float.Parse("41.00027357629127"); Ці методи повертають 4.10002732E + 15 . Коли я конвертую в плаваючу, я хочу "41.00027357629127". Цей рядок має бути однаковим ...

6
Чому SSE скалярний sqrt (x) повільніше, ніж rsqrt (x) * x?
Я профілював частину нашої основної математики на Intel Core Duo, і, переглядаючи різні підходи до квадратного кореня, я помітив щось дивне: використовуючи скалярні операції SSE, швидше взяти зворотний квадратний корінь і помножити його щоб отримати sqrt, ніж це використовувати рідний опкорд sqrt! Я тестую його за допомогою циклу, наприклад: inline …

11
У якому порядку слід додати поплавці, щоб отримати найбільш точний результат?
Це питання мені було задано під час мого недавнього інтерв'ю, і я хочу знати (я насправді не пам'ятаю теорію чисельного аналізу, тому будь ласка, допоможіть мені :) Якщо у нас є якась функція, яка акумулює числа з плаваючою комою: std::accumulate(v.begin(), v.end(), 0.0); vє std::vector<float>, наприклад. Чи було б краще сортувати …

8
Специфікатор ширини Printf для підтримки точності значення з плаваючою комою
Чи існує printfспецифікатор ширини, який може бути застосований до специфікатора плаваючої точки, який автоматично відформатуватиме висновок на необхідну кількість значущих цифр, таким чином, що при скануванні рядка назад в ньому набувається початкове значення плаваючої точки? Наприклад, припустимо, що я друкую a floatз точністю до 2десяткових знаків: float foobar = 0.9375; …

10
“F” після номера
Що робить f цифри після цифр? Це від C або Objective-C? Чи є різниця в тому, щоб не додавати це до постійної кількості? CGRect frame = CGRectMake(0.0f, 0.0f, 320.0f, 50.0f); Чи можете ви пояснити, чому я не просто писав би: CGRect frame = CGRectMake(0, 0, 320, 50);

4
Що таке плавання в Java?
Я написав цей код: float b = 3.6; і я отримую це: Помилка: невирішена проблема компіляції: Невідповідність типу: неможливо перетворити з подвійного в плаваючий Чому? Що таке визначення float?

3
Чи можна записати швидку функцію Quake InvSqrt () в Rust?
Це просто для задоволення власної цікавості. Чи є реалізація цього: float InvSqrt (float x) { float xhalf = 0.5f*x; int i = *(int*)&x; i = 0x5f3759df - (i>>1); x = *(float*)&i; x = x*(1.5f - xhalf*x*x); return x; } в Іржі? Якщо він існує, опублікуйте код. Я спробував це і …

19
Перетворити рядок в плаваючий в Swift
Я намагаюся перетворити числа, взяті з UITextField, які, я вважаю, насправді є Strings, і перетворити їх у Float, щоб я міг їх помножити. У мене є два UITextfields, які оголошені так: @IBOutlet var wage: UITextField @IBOutlet var hour: UITextField Коли користувач натискає UIButton, я хочу обчислити заробітну плату, яку отримує …

11
Розрахунки з плаваючою точкою та цілими числами на сучасному обладнання
Я роблю деяку критичну роботу на C ++, і зараз ми використовуємо цілі обчислення для проблем, які за своєю суттю є плаваючою точкою, оскільки "це швидше". Це викликає цілу масу роздратованих проблем і додає багато дратівливого коду. Тепер я пам'ятаю, як читав про те, як обчислення з плаваючою точкою були …

9
Чи безпечно перевіряти значення плаваючої точки на рівність 0?
Я знаю, що ти не можеш покладатися на рівність між подвійними або десятковими значеннями типу, але мені цікаво, чи 0 є особливим випадком. Хоча я можу зрозуміти неточності між 0,00000000000001 та 0,00000000000002, 0 сам по собі здається досить важким зіпсувати, оскільки це просто нічого. Якщо ви ні до чого не …

14
Формат плаває за допомогою стандартного модуля json
Я використовую стандартний модуль json в python 2.6, щоб серіалізувати список плавців. Однак я отримую такі результати: >>> import json >>> json.dumps([23.67, 23.97, 23.87]) '[23.670000000000002, 23.969999999999999, 23.870000000000001]' Я хочу, щоб поплавці були сформовані лише з двома десятковими цифрами. Вихід повинен виглядати так: >>> json.dumps([23.67, 23.97, 23.87]) '[23.67, 23.97, 23.87]' Я …

7
Попередження C ++: ділення подвійного на нуль
Випадок 1: #include <iostream> int main() { double d = 15.50; std::cout<<(d/0.0)<<std::endl; } Він збирається без жодних попереджень та відбитків inf. ОК, C ++ може обробляти поділ на нуль ( дивіться це в прямому ефірі ). Але, Випадок 2: #include <iostream> int main() { double d = 15.50; std::cout<<(d/0)<<std::endl; } …

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