floating-point

Czy matematyka zmiennoprzecinkowa jest zepsuta?

Rozważ następujący kod: 0.1 + 0.2 == 0.3 -> false 0.1 + 0.2 -> 0.30000000000000004 Dlaczego zdarzają się te nieścisłości?

Dlaczego zmiana 0.1 f na 0 spowalnia wydajność o 10x?

Dlaczego ten bit kodu, const float x[16] = { 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, ... y[i] = y[i] - 0; // <-- } } Podczas kompilacji z Visual Studio 2010 SP1. (Nie testowałem z innymi kompilatorami.)

Dlaczego GCC nie optymalizuje a*A*A*A*A*A do (A*A*A)*(A*A*a)?

Robię pewną optymalizację numeryczną na aplikacji naukowej. Jedną z rzeczy, które zauważyłem jest to, że GCC zoptymalizuje wy ... czbę instrukcji mnożenia do 3. icc ma podobne zachowanie. Dlaczego Kompilatory nie rozpoznają tej sztuczki optymalizacyjnej?

Różnica między dziesiętnym, zmiennoprzecinkowym i podwójnym in.NET?

Jaka jest różnica między decimal, float i double w. Net? Kiedy ktoś mógłby użyć takiego?

Dlaczego nie użyć Double lub Float do reprezentowania waluty?

Zawsze mówiono mi nigdy aby reprezentować pieniądze typami double LUB float i tym razem zadaję wam pytanie: dlaczego? Jestem pewien, że jest bardzo dobry powód, po prostu nie wiem, co to jest.

Jak przetworzyć string do float lub int?

W Pythonie, Jak mogę przetworzyć łańcuch liczbowy, taki jak "545.2222" do odpowiadającej mu wartości float, 545.2222? Lub prz ... "31" do liczby całkowitej, 31? Chcę tylko wiedzieć, jak parsować float str do a float i (oddzielnie) an int str do an int.

Jak sprawdzić, czy łańcuch znaków jest liczbą (float)?

Jaki jest najlepszy możliwy sposób sprawdzenia, czy łańcuch znaków może być reprezentowany jako liczba w Pythonie? Funkcja, ... e wydaje się niezgrabne. Nie znalazłem jednak lepszej metody, ponieważ wywołanie float w głównej funkcji jest jeszcze gorsze.

Jak niebezpieczne jest porównywanie wartości zmiennoprzecinkowych?

Wiem, że UIKit używa CGFloat ze względu na rozdzielczy niezależny układ współrzędnych. Ale za każdym razem, gdy chcę sprawdz ... wewnętrznie podczas porównywania, czy może się zdarzyć, że {[13] } odczytuje się jako zero nie porównuje się do 0 jako true?

Jak przetworzyć string do float lub int w Pythonie?

W Pythonie, Jak mogę przetworzyć łańcuch liczbowy, taki jak "545.2222" do odpowiadającej mu wartości float, 542.2222? Lub prz ... do liczby całkowitej, 31? Chcę tylko wiedzieć, jak parsować float string do a float i (oddzielnie) an int string do an int.

Jak radzić sobie z precyzją liczb zmiennoprzecinkowych w JavaScript?

Mam następujący skrypt testowy: function test(){ var x = 0.1 * 0.2; document.write(x); } test(); Wyświetli wynik ... ałem tylko wiedzieć, czy ktoś z Was ma jakieś ładne, eleganckie rozwiązanie. Oczywiście, inaczej zaokrąglę do około 10 cyfr.

Jaka jest różnica między float a double?

Czytałem o różnicy między podwójną precyzją a pojedynczą precyzją. Jednak w większości przypadków float i double wydają się b ... ego nie wydaje się mieć wpływu na wyniki. Naprawdę tak jest? Kiedy pływaki i duble są wymienne? Jakie są między nimi różnice?

Dlaczego liczby dziesiętne nie mogą być dokładnie reprezentowane w postaci binarnej?

Do SO zostało wysłanych kilka pytań dotyczących reprezentacji zmiennoprzecinkowej. Na przykład liczba dziesiętna 0.1 nie ma d ... .. Nie ma również żadnych arbitralnych ograniczeń dla tych liczb. Pozycje zwiększają się w nieskończoność w lewo i w prawo.

Dlaczego Matematyka.round(0.499999999999999999994) return 1?

W poniższym programie widać, że każda wartość nieco mniejsza niż .5 jest zaokrąglona w dół, z wyjątkiem 0.5. for (int i = 10 ... 998 rounded is 1 0.5 rounded is 1 0.49999999999999994 rounded is 1 0.4999999999999999 rounded is 0 Używam Java 6 update 31.

Jak wydrukować podwójną wartość z pełną precyzją za pomocą cout? [duplikat]

to pytanie ma już odpowiedzi tutaj : ... le używając cout, które zostało zaokrąglone, gdy się tego nie spodziewałem. Jak wykonać cout Wydruk double z pełną precyzją?

Jak ładnie sformatować liczby pływające na ciąg bez zbędnych dziesiętnych 0

64-bitowy podwójny może reprezentować liczbę całkowitą +/- 253 dokładnie. Biorąc pod uwagę ten fakt, wybieram użycie typu pod ... zed odpowiedzią. Należy pamiętać, że String.format(format, args...) jest zależne od lokalizacji (zobacz Odpowiedzi poniżej).

Double vs. BigDecimal?

Muszę obliczyć kilka zmiennych zmiennoprzecinkowych i mój kolega zasugerował mi użycie BigDecimal zamiast double, ponieważ będzie to bardziej precyzyjne. Ale chcę wiedzieć, co to jest i jak najlepiej wykorzystać BigDecimal?

Jak wymusić podział na zmiennoprzecinkowy? Dywizja ciągle zaokrąglała do 0?

Mam dwie wartości całkowite a i b, ale potrzebuję ich proporcji w postaci zmiennoprzecinkowej. Wiem, że {[3] } i chcę oblicz ... z pozostałą częścią a. Jak mogę wymusić c aby była liczbą zmiennoprzecinkową w Pythonie w poniższym przykładzie? c = a / b

Losowe generowanie liczb zmiennoprzecinkowych

Jak wygenerować losowe flaty w C++? Myślałem, że mogę wziąć liczbę całkowitą rand i podzielić ją przez coś, czy to wystarczy?

Jak użyć wartości kroku dziesiętnego range ()?

Czy istnieje sposób na przejście od 0 do 1 przez 0,1? Myślałem, że mogę to zrobić jak poniżej, ale się nie udało: for i in range(0, 1, 0.1): print i Zamiast tego mówi, że argument step nie może być zerowy, czego się nie spodziewałem.

Szybka metoda zaokrąglania podwójnego do 32-bitowego int

Podczas czytania kodu źródłowego Lua zauważyłem, że Lua używa makra do zaokrąglania wartości double do wartości 32-bitowych ... ,n) __asm {__asm fld n __asm fistp i} Istnieje podobna liczba magiczna dla pojedynczego liczby precyzyjne: 1.5 × 223.