Pytania otagowane jako floating-point

Liczby zmiennoprzecinkowe są przybliżeniami liczb rzeczywistych, które mogą reprezentować większe zakresy niż liczby całkowite, ale wykorzystują tę samą ilość pamięci, kosztem mniejszej precyzji. Jeśli Twoje pytanie dotyczy drobnych błędów arytmetycznych (np. Dlaczego 0,2 + 0,1 równa się 0,300000001?) Lub błędów konwersji dziesiętnej, przed opublikowaniem przeczytaj stronę „Informacje”, do której link znajduje się poniżej.




11
Jaka jest różnica między operacją zmiennoprzecinkową o pojedynczej precyzji a podwójną precyzją?
Jaka jest różnica między operacją zmiennoprzecinkową o pojedynczej precyzji a operacją zmiennoprzecinkową o podwójnej precyzji? Szczególnie interesują mnie kwestie praktyczne związane z konsolami do gier wideo. Na przykład, czy Nintendo 64 ma procesor 64-bitowy, a jeśli tak, czy to znaczy, że jest zdolny do wykonywania operacji zmiennoprzecinkowych o podwójnej precyzji? …



5
Formatowanie / pomijanie notacji naukowej z wyników agregacji Python Pandas
Jak można zmodyfikować format danych wyjściowych z operacji grupowej w pandach, która tworzy notację naukową dla bardzo dużych liczb? Wiem, jak wykonać formatowanie ciągów znaków w Pythonie, ale nie mam pojęcia, jak je tutaj zastosować. df1.groupby('dept')['data1'].sum() dept value1 1.192433e+08 value2 1.293066e+08 value3 1.077142e+08 To pomija notację naukową, jeśli konwertuję na …

4
Dlaczego wartość zmiennoprzecinkowa 4 * 0,1 wygląda ładnie w Pythonie 3, a 3 * 0,1 nie?
Wiem, że większość liczb dziesiętnych nie ma dokładnej reprezentacji zmiennoprzecinkowej ( czy matematyka zmiennoprzecinkowa jest zepsuta? ). Ale nie rozumiem, dlaczego 4*0.1jest ładnie drukowane 0.4, ale 3*0.1nie jest, gdy obie wartości mają w rzeczywistości brzydkie reprezentacje dziesiętne: >>> 3*0.1 0.30000000000000004 >>> 4*0.1 0.4 >>> from decimal import Decimal >>> Decimal(3*0.1) …

6
Dlaczego wartość Double.MIN_VALUE nie jest liczbą ujemną
Czy ktoś może rzucić trochę światła na to, dlaczego Double.MIN_VALUE to, rzeczywistości nie jest to minimalna wartość, jaką może przyjąć Doubles? Jest to wartość dodatnia, a Double może oczywiście być ujemne. Rozumiem, dlaczego jest to przydatna liczba, ale wydaje się bardzo nieintuicyjna nazwa, zwłaszcza w porównaniu z Integer.MIN_VALUE. Nazywanie go …

16
Porównaj pływaki w php
Chcę porównać dwie zmiennoprzecinkowe w PHP, jak w tym przykładowym kodzie: $a = 0.17; $b = 1 - 0.83; //0.17 if($a == $b ){ echo 'a and b are same'; } else { echo 'a and b are not same'; } W tym kodzie zwraca wynik elsewarunku zamiast ifwarunku, mimo …


9
Dlaczego Double.NaN == Double.NaN zwraca false?
Właśnie studiowałem pytania OCPJP i znalazłem ten dziwny kod: public static void main(String a[]) { System.out.println(Double.NaN==Double.NaN); System.out.println(Double.NaN!=Double.NaN); } Kiedy uruchomiłem kod, otrzymałem: false true Jaki jest wynik, falsegdy porównujemy dwie rzeczy, które wyglądają tak samo? Co to NaNznaczy?
155 java  floating-point  nan  scjp  ocpjp 


7
„pływająca” a „podwójna” precyzja
Kod float x = 3.141592653589793238; double z = 3.141592653589793238; printf("x=%f\n", x); printf("z=%f\n", z); printf("x=%20.18f\n", x); printf("z=%20.18f\n", z); da ci wyjście x=3.141593 z=3.141593 x=3.141592741012573242 z=3.141592653589793116 gdzie w trzecim wierszu danych wyjściowych 741012573242jest śmieci, a w czwartym wierszu 116. Czy gra podwójna zawsze ma 16 cyfr znaczących, podczas gdy zmienna zawsze ma …
155 c  floating-point 

3
Dlaczego wielokrotne dodawanie 0,1 pozostaje bezstratne?
Wiem, że 0.1liczby dziesiętnej nie można dokładnie przedstawić za pomocą skończonej liczby binarnej ( wyjaśnienie ), więc double n = 0.1straci pewną precyzję i nie będzie dokładnie 0.1. Z drugiej strony 0.5może być reprezentowany właśnie dlatego, że jest 0.5 = 1/2 = 0.1b. Powiedziawszy, że jest zrozumiałe, 0.1 trzykrotne dodanie …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.