Jak zaokrąglić liczbę dziesiętną (zmiennoprzecinkową) do najbliższej liczby całkowitej? na przykład 1.2 = 1 1.7 =
Jak zaokrąglić liczbę dziesiętną (zmiennoprzecinkową) do najbliższej liczby całkowitej? na przykład 1.2 = 1 1.7 =
Czytając kod źródłowy Lua , zauważyłem, że Lua używa a, macroaby zaokrąglić a doubledo 32-bitowego int. Wyodrębniłem macroi wygląda to tak: union i_cast {double d; int i[2]}; #define double2int(i, d, t) \ {volatile union i_cast u; u.d = (d) + 6755399441055744.0; \ (i) =...
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...
Wiem, że ==sprawdzanie równości zmiennych zmiennoprzecinkowych nie jest dobrym sposobem. Ale chcę to wiedzieć za pomocą następujących stwierdzeń: float x = ... float y = x; assert(y == x) Skoro yjest on kopiowany x, czy twierdzenie to będzie
Dla jasności, jeśli używam języka, który implementuje zmiennoprzecinkowe IEE 754 i oświadczam: float f0 = 0.f; float f1 = 1.f; ... a następnie wydrukuj je z powrotem, otrzymam 0,0000 i 1,0000 - dokładnie. Ale IEEE 754 nie jest w stanie przedstawić wszystkich liczb wzdłuż rzeczywistej linii....
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...
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...
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,...
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 że $ai $bsą takie same. Czy jest jakiś...
Bardzo się staram porównać dwie liczby zmiennoprzecinkowe w skrypcie bash. Mam do zmiennych np let num1=3.17648e-22 let num2=1.5 Teraz chcę tylko zrobić proste porównanie tych dwóch liczb: st=`echo "$num1 < $num2" | bc` if [ $st -eq 1]; then echo -e "$num1 < $num2" else echo -e "$num1...
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,...
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...
Nie, to nie jest kolejne pytanie „Dlaczego jest (1 / 3.0) * 3! = 1” . Ostatnio dużo czytałem o zmiennoprzecinkowych; a konkretnie, w jaki sposób te same obliczenia mogą dać różne wyniki w przypadku różnych architektur lub ustawień optymalizacji. Jest to problem z grami wideo, które przechowują...
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...
public class doublePrecision { public static void main(String[] args) { double total = 0; total += 5.6; total += 5.8; System.out.println(total); } } Powyższy kod drukuje: 11.399999999999 Jak mogę to po prostu wydrukować (lub móc go używać jako)
Oto mój kod: x = 1.0 y = 100000.0 print x/y Mój iloraz wyświetla się jako 1.00000e-05. Czy istnieje sposób, aby usunąć notację naukową i wyświetlić ją jako 0.00001? Użyję wyniku jako
Rozumiem, że --ffast-mathflaga gcc może znacznie zwiększyć prędkość operacji typu float i wykracza poza standardy IEEE, ale nie mogę znaleźć informacji o tym, co naprawdę się dzieje, gdy jest włączony. Czy ktoś może wyjaśnić niektóre szczegóły i może podać jasny przykład, jak coś by się zmieniło,...
Mam funkcję pobierającą argumenty typu float (zwykle liczby całkowite lub dziesiętne z jedną cyfrą znaczącą) i muszę wyprowadzić wartości w ciągu z dwoma miejscami dziesiętnymi (5 -> 5,00, 5,5 -> 5,50 itd.). Jak mogę to zrobić w Pythonie?
Powiedzmy, że mam liczbę zmiennoprzecinkową 135.12345678910. Chcę połączyć tę wartość z ciągiem, ale chcę tylko 135.123456789. Dzięki drukowaniu mogę to łatwo zrobić, wykonując coś takiego: print "%.9f" % numvar z numvarczym mój oryginalny numer. Czy jest na to łatwy...
Tworzę aplikację internetową przeznaczoną głównie dla przeglądarek mobilnych. Używam pól wejściowych z typem liczbowym, więc (większość) przeglądarek mobilnych wywołuje tylko klawiaturę numeryczną dla lepszego doświadczenia użytkownika. Ta aplikacja internetowa jest używana głównie w regionach,...