Вопросы с тегом «floating-point»

420
В чем разница между float и double?

Я читал о разнице между двойной точностью и одинарной точностью. Тем не менее, в большинстве случаев, floatи , doubleкажется, быть взаимозаменяемыми, то есть с помощью одного или другого , кажется, не влияют на результаты. Это действительно так? Когда поплавки и двойники взаимозаменяемы? Каковы...

412
Как разобрать с плавающей запятой с двумя десятичными разрядами в JavaScript?

У меня есть следующий код. Мне бы хотелось, чтобы оно было таким, чтобы если price_result равнялся целому числу, скажем, 10, то я хотел бы добавить два десятичных знака. Таким образом, 10 будет 10,00. Или, если он равен 10,6, будет 10,60. Не уверен, как это сделать. price_result =...

391
Насколько опасно сравнивать значения с плавающей запятой?

Я знаю, UIKitиспользует CGFloatиз-за разрешения независимой системы координат. Но каждый раз, когда я хочу проверить, например, frame.origin.xвызывает ли 0это у меня тошноту: if (theView.frame.origin.x == 0) { // do important operation } Не CGFloatуязвима к ложным срабатываниям при сравнении с ==,...

342
Как конвертировать float в int с помощью Java

Я использовал следующую строку для преобразования float в int, но это не так точно, как хотелось бы: float a=8.61f; int b; b=(int)a; Результат: 8(должно быть 9) Когда a = -7.65f, результат: -7(должно быть -8) Какой лучший способ сделать...

333
Каков наилучший способ сравнения чисел с плавающей точкой для почти равенства в Python?

Хорошо известно, что сравнение поплавков на равенство немного затруднительно из-за проблем округления и точности. Например: https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ Каков рекомендуемый способ борьбы с этим в Python? Конечно, есть где-нибудь...

332
Как вывести двойное значение с полной точностью, используя cout?

Итак, я получил ответ на мой последний вопрос (я не знаю, почему я не подумал об этом). Я печатал doubleиспользование, coutкоторое округлилось, когда я не ожидал этого. Как я могу сделать coutпечать с doubleиспользованием полной...

316
JavaScript, отображающий число с плавающей точкой до 2 десятичных знаков

Я хотел отобразить число до 2 десятичных знаков. Я думал, что мог бы использовать toPrecision(2)в JavaScript. Однако, если номер есть 0.05, я получу 0.0500. Я бы предпочел, чтобы это осталось прежним. Смотрите это на JSbin . Каков наилучший способ сделать это? Я могу подумать о кодировании...

310
Что представляет собой постоянная 0,0039215689?

Я постоянно вижу эту константу, всплывающую в различных графических заголовочных файлах 0.0039215689 Кажется, это как-то связано с цветом? Вот первый хит в Google : void RDP_G_SETFOGCOLOR(void) { Gfx.FogColor.R = _SHIFTR(w1, 24, 8) * 0.0039215689f; Gfx.FogColor.G = _SHIFTR(w1, 16, 8) *...

304
Двойной против BigDecimal?

Я должен вычислить некоторые переменные с плавающей точкой, и мой коллега предлагает мне использовать BigDecimalвместо, doubleтак как это будет более точным. Но я хочу знать, что это такое и как извлечь из этого максимум...

300
Почему 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...

294
Почему изменение порядка сумм возвращает другой результат?

Почему изменение порядка сумм возвращает другой результат? 23.53 + 5.88 + 17.64 знак равно 47.05 23.53 + 17.64 + 5.88 знак равно 47.050000000000004 И Java, и JavaScript возвращают одинаковые результаты. Я понимаю, что из-за того, что числа с плавающей запятой представлены в двоичном виде, некоторые...

285
Почему десятичные числа не могут быть представлены точно в двоичном виде?

В SO было опубликовано несколько вопросов о представлении с плавающей точкой. Например, десятичное число 0.1 не имеет точного двоичного представления, поэтому опасно использовать оператор == для сравнения его с другим числом с плавающей запятой. Я понимаю принципы, лежащие в основе представления с...

284
Почему некоторые сравнения с плавающей запятой в четыре раза медленнее других?

При сравнении значений с плавающей точкой и целых чисел некоторым парам значений требуется гораздо больше времени для оценки, чем другим значениям схожей величины. Например: >>> import timeit >>> timeit.timeit("562949953420000.7 < 562949953421000") # run 1 million times...

283
Число с плавающей запятой и десятичное в ActiveRecord

Иногда типы данных Activerecord сбивают меня с толку. Часто Один из моих вечных вопросов, для данного случая, Я должен использовать :decimalили :float? Я часто сталкивался с этой ссылкой ActiveRecord:: decimal vs: float? , но ответы не совсем ясны, чтобы я был уверен: Я видел много потоков, в...

267
Каково обоснование для всех сравнений, возвращающих false для значений NaN IEEE754?

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

265
Когда я должен использовать двойное вместо десятичного?

Я могу назвать три преимущества использования double(или float) вместо decimal: Использует меньше памяти. Быстрее, потому что математические операции с плавающей запятой изначально поддерживаются процессорами. Может представлять больший диапазон чисел. Но эти преимущества, по-видимому, применимы...