Pytania otagowane jako floating-accuracy


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 ==, <=, >=, <, >? …


21
Co jest złego w używaniu == do porównywania liczb zmiennoprzecinkowych w Javie?
Zgodnie z tą stroną java.sun == jest operatorem porównania równości dla liczb zmiennoprzecinkowych w Javie. Jednak gdy wpisuję ten kod: if(sectionID == currentSectionID) do mojego edytora i uruchamiam analizę statyczną, otrzymuję: „JAVA0078 Wartości zmiennoprzecinkowe w porównaniu z ==” Co jest złego w używaniu ==do porównywania wartości zmiennoprzecinkowych? Jaki jest właściwy …

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) …



4
Jaka jest najbliższa podwójna wartość 1,0, a nie 1,0?
Czy istnieje sposób, aby programowo uzyskać podwójną wartość najbliższą 1,0, ale w rzeczywistości nie jest to 1,0? Jednym z hackerskich sposobów byłoby zapamiętanie podwójnej liczby całkowitej do tej samej wielkości, a następnie odjęcie jednej. Sposób działania formatów zmiennoprzecinkowych IEEE754 skutkowałby zmniejszeniem wykładnika o jeden podczas zmiany części ułamkowej ze wszystkich …
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.