Вопросы с тегом 'floating-accuracy'

О точности операций, выполняемых с номерами с плавающей запятой.
40

Математика с плавающей точкой нарушена?

Рассмотрим следующий код: 0.1 + 0.2 == 0.3 -> false 0.1 + 0.2 -> 0.30000000000000004 Почему эти неточности случаются?
25 февр. '09 в 21:39
10

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

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

Почему эти цифры не равны?

Следующий код явно ошибочен. В чем проблема? i <- 0.1 i <- i + 0.05 i ## [1] 0.15 if(i==0.15) cat("i equals 0.15") else cat("i does not equal 0.15") ## i does not equal 0.15
29 февр. '12 в 23:46
21

Что не так с использованием == для сравнения float в Java?

Согласно эта страница java.sun == - оператор сравнения равенств для чисел с плавающей запятой в Java. Однако, когда я набираю этот код: if(sectionID == currentSectionID) в мой редактор и запустить статический анализ, я получаю: "JAVA0078 значения...
06 июл. '09 в 17:28
12

Можно ли получить 0 путем вычитания двух неравных чисел с плавающей запятой?

Можно ли получить деление на 0 (или бесконечность) в следующем примере? public double calculation(double a, double b) { if (a == b) { return 0; } else { return 2 / (a - b); } } В обычных случаях это,...
12 февр. '15 в 9:55
4

Какой ближайший двойной к 1.0, то есть 1.0?

Есть ли способ программно получить двойной, который ближе всего к 1.0, но на самом деле не 1.0? Один взломанный способ сделать это - это memcpy double с целым числом одного и того же размера, а затем вычесть его. То, как работают форматы с плавающей...
06 авг. '16 в 7:52
3

Почему 0.1 + 0.2 == 0.3 в D?

assert(0.1 + 0.2 != 0.3); // shall be true - моя любимая проверка того, что язык использует собственную арифметику с плавающей запятой. С++ #include <cstdio> int main() { printf("%d\n", (0.1 + 0.2 != 0.3)); return 0; } Вывод: 1 ...
29 июл. '11 в 14:03
5

Обработка точности float в Javascript

У меня есть большое количество числовых значений y в javascript. Я хочу сгруппировать их, округляя их до ближайшего кратного x и преобразуя результат в строку. Как мне обойти раздражающую точность с плавающей запятой? Например: 0.2 + 0.4 = 0.6000...
27 июл. '12 в 21:03
24

Усечение (не округление) десятичных чисел в javascript

Я пытаюсь усечь десятичные числа до десятичных знаков. Что-то вроде этого: 5.467 -> 5.46 985.943 -> 985.94 toFixed(2) делает почти правильную вещь, но это округляет ценность. Мне не нужно, чтобы значение округлялось. Надеюсь, это возмож...
06 февр. '11 в 10:42
9

PHP - плавающая точность чисел

$a = '35'; $b = '-34.99'; echo ($a + $b); Результаты в 0,009999999999998 Что с этим связано? Я задавался вопросом, почему моя программа продолжала сообщать о нечетных результатах. Почему PHP не возвращает ожидаемый 0.01?
16 сент. '10 в 12:39
6

(.1f +.2f ==. 3f)!= (.1f +.2f).Equals(.3f) Почему?

Мой вопрос не о плавающей точности. Речь идет о том, почему Equals() отличается от ==. Я понимаю, почему .1f + .2f == .3f есть false (while .1m + .2m == .3m is true). Я получаю, что == является ссылкой и .Equals() является сопоставлением значен...
27 февр. '13 в 16:21
4

Неточность десятичного в .NET.

Вчера во время отладки со мной произошло что-то странное, и я не могу это объяснить: Так что, возможно, я не вижу здесь очевидного, или я неправильно понял что-то о десятичном значении в .NET, но не должен ли результат быть тем же самым?
25 авг. '15 в 7:34
2

Каково стандартное решение JavaScript для обработки больших чисел (BigNum)?

Существует ли библиотека bignum для JavaScript или встроенная, которую я могу включить, например, <script type="text/javascript" src="the_bignum_library.js"></script> ? Я думаю, что мои пользователи предпочли бы вводить числа на веб-с...
18 июн. '10 в 18:47
16

Как сделать целое число log2() в С++?

В стандартных библиотеках С++ я нашел только метод журнала с плавающей запятой. Теперь я использую журнал, чтобы найти уровень индекса в двоичном дереве (floor(2log(index))). Код (С++): int targetlevel = int(log(index)/log(2)); Я боюсь, что для н...
15 июн. '09 в 5:30
5

отрицательный ноль в python

[Python 3.1] Я столкнулся с отрицательным нолем в выводе из python; он создается, например, следующим образом: k = 0.0 print(-k) Выход будет -0.0. Однако, когда я сравниваю -k с 0.0 для равенства, он дает True. Есть ли разница между 0.0 и -0...
03 нояб. '10 в 0:57