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

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

7
Коли використовувати float vs decimal
Я будую цей API, і база даних зберігатиме значення, які представляють одне з наступних: процент середній ставка Я, чесно кажучи, не маю уявлення, як зобразити щось, що в діапазоні становить від 0 до 100%. Чи має бути 0,00 - 1,00 0,00 - 100,00 будь-яка інша альтернатива, яку я не знаю …

1
Дивна поведінка (^) в Хаскеллі
Чому GHCi дає неправильну відповідь нижче? GHCi λ> ((-20.24373193905347)^12)^2 - ((-20.24373193905347)^24) 4.503599627370496e15 Python3 >>> ((-20.24373193905347)**12)**2 - ((-20.24373193905347)**24) 0.0 ОНОВЛЕННЯ Я би реалізував функцію Haskell (^) наступним чином. powerXY :: Double -> Int -> Double powerXY x 0 = 1 powerXY x y | y < 0 = powerXY (1/x) (-y) …

5
Ефективна стабільна сума упорядкованих чисел
У мене досить довгий список позитивних чисел з плаваючою комою ( std::vector<float>, розмір ~ 1000). Числа сортуються у порядку зменшення. Якщо я підсумую їх у порядку: for (auto v : vec) { sum += v; } Я думаю, у мене може виникнути проблема чисельної стабільності, оскільки близько до кінця вектора …

2
Дійсний синтаксис виклику псевдодеструктора для плаваючої константи
Розглянемо наступну показову програму. #include <iostream> int main() { typedef float T; 0.f.T::~T(); } Цю програму складено Microsoft Visual Studio Community 2019. Але clangі gccвидайте помилку на зразок цієї prog.cc:7:5: error: unable to find numeric literal operator 'operator""f.T' 7 | 0.f.T::~T(); | ^~~~~ Якщо записати вираз, як ( 0.f ).T::~T()тоді, …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.