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.


26
Jak ładnie sformatować liczby zmiennoprzecinkowe na ciąg bez niepotrzebnego dziesiętnego 0?
64-bitowe podwójne może dokładnie reprezentować liczbę całkowitą +/- 2 53 Biorąc pod uwagę ten fakt, zdecydowałem się użyć podwójnego typu jako jednego typu dla wszystkich moich typów, ponieważ moja największa liczba całkowita jest bez znaku 32-bitowa. Ale teraz muszę wydrukować te pseudo liczby całkowite, ale problem polega na tym, że …

24
Jak zaokrąglasz liczbę w Pythonie?
Ten problem mnie zabija. W jaki sposób jedno zaokrąglenie liczby UP w Pythonie? Próbowałem zaokrąglić (liczbę), ale zaokrągliłem liczbę w dół. Przykład: round(2.3) = 2.0 and not 3, what I would like Próbowałem int (liczba + .5), ale ponownie zaokrągla liczbę w dół! Przykład: int(2.3 + .5) = 2 Potem …



12
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 floati doublewydają się być wymienne, tj. Użycie jednego lub drugiego nie wydaje się wpływać na wyniki. Czy to naprawdę tak jest? Kiedy zmiennoprzecinkowe i podwajalne są wymienne? Jakie są między nimi różnice?



11
Jak niebezpieczne jest porównywanie wartości zmiennoprzecinkowych?
Znam UIKitzastosowania z CGFloatpowodu niezależnego od rozdzielczości układu współrzędnych. Ale za każdym razem, gdy chcemy sprawdzić, czy na przykład frame.origin.xjest 0to sprawia, że czuję się chory: if (theView.frame.origin.x == 0) { // do important operation } Nie jest CGFloatpodatny na fałszywych alarmów przy porównywaniu z ==, <=, >=, <, >? …

6
Jak przekonwertować float na int za pomocą Java
Użyłem następującego wiersza, aby przekonwertować zmiennoprzecinkowe na int, ale nie jest tak dokładne, jak bym chciał: float a=8.61f; int b; b=(int)a; Wynik jest następujący: 8(Powinno być 9) Kiedy a = -7.65fwynikiem jest: -7(Powinno być -8) Jak najlepiej to zrobić?
342 java  floating-point  int 


15
Jaki jest najlepszy sposób porównania pływaków dla prawie równości w Pythonie?
Powszechnie wiadomo, że porównywanie liczb zmiennoprzecinkowych w celu zapewnienia równości jest trochę kłopotliwe z powodu problemów z zaokrąglaniem i precyzją. Na przykład: https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ Jaki jest zalecany sposób radzenia sobie z tym w Pythonie? Na pewno jest gdzieś standardowa funkcja biblioteki?


2
Co oznacza stała 0,0039215689?
Ciągle widzę tę stałą wyskakującą w różnych plikach nagłówka grafiki 0.0039215689 Może to ma coś wspólnego z kolorem? Oto pierwsze trafienie w Google : void RDP_G_SETFOGCOLOR(void) { Gfx.FogColor.R = _SHIFTR(w1, 24, 8) * 0.0039215689f; Gfx.FogColor.G = _SHIFTR(w1, 16, 8) * 0.0039215689f; Gfx.FogColor.B = _SHIFTR(w1, 8, 8) * 0.0039215689f; Gfx.FogColor.A = …

6
Double vs. BigDecimal?
Muszę obliczyć niektóre zmienne zmiennoprzecinkowe, a mój kolega sugeruje, żebym użył BigDecimalzamiast tego, doubleponieważ będzie to bardziej precyzyjne. Ale chcę wiedzieć, co to jest i jak najlepiej wykorzystać BigDecimal?

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.