Typ danych zmiennoprzecinkowych to 32-bitowy zmiennoprzecinkowy IEEE 754 o pojedynczej precyzji, a podwójny typ danych to 64-bitowy zmiennoprzecinkowy IEEE 754 o podwójnej precyzji. Co to znaczy? A kiedy powinienem używać float zamiast double lub vice versa?
Dzisiaj przeglądałem kod C ++ (napisany przez kogoś innego) i znalazłem tę sekcję: double someValue = ... if (someValue < std::numeric_limits<double>::epsilon() && someValue > -std::numeric_limits<double>::epsilon()) { someValue = 0.0; } Próbuję dowiedzieć się, czy to w ogóle ma sens. Dokumentacja epsilon()mówi: Funkcja zwraca różnicę między 1 a najmniejszą wartością większą …
Ostatnio musiałem przekształcić tekst podwójny w szereg, a potem go odzyskać. Wartość wydaje się nie być równoważna: double d1 = 0.84551240822557006; string s = d1.ToString("R"); double d2 = double.Parse(s); bool s1 = d1 == d2; // -> s1 is False Ale zgodnie z MSDN: Standardowe ciągi formatu liczbowego opcja „R” …
Muszę przechowywać podwójną jako ciąg. Wiem, że mogę go użyć, printfjeśli chcę go wyświetlić, ale chcę go po prostu zapisać w zmiennej ciągu, aby móc później zapisać go na mapie (jako wartość , a nie klucz ).
Próbuję zrobić kalkulator tempa wzrostu ( Double), który zaokrągli wynik do najbliższej liczby całkowitej i ponownie obliczy od tego miejsca, jako taki: let firstUsers = 10.0 let growth = 0.1 var users = firstUsers var week = 0 while users < 14 { println("week \(week) has \(users) users") users += …
Jak sformatować a Doubledo a Stringw C #, aby mieć tylko dwa miejsca po przecinku? Jeśli użyję String.Format("{0:0.00}%", myDoubleValue)liczby, jest ona zaokrąglana i chcę prostego obcięcia bez zaokrąglania. Chcę również, aby konwersja Stringbyła wrażliwa na kulturę.
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 …
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) 11.4?
Edycja: Więc w zasadzie to, co próbuję napisać, to 1-bitowy hash double. Chcę zmapować doubledo truelub falsez szansą 50/50. W tym celu napisałem kod, który wybiera losowe liczby (tak jak na przykład, chcę tego użyć na danych z regularnościami i nadal otrzymuję wynik 50/50) , sprawdza ich ostatni bit i …
Czy Java ma coś, co reprezentuje nieskończoność dla każdego liczbowego typu danych? Jak to jest zaimplementowane, że mogę na nim wykonywać operacje matematyczne? Na przykład int myInf = infinity; //However it is done myInf + 5; //returns infinity myInf*(-1); //returns negative infinity Próbowałem używać bardzo dużych liczb, ale chcę odpowiedniego, …
Czy w poniższym przykładzie można uzyskać dzielenie przez 0 (lub nieskończoność)? public double calculation(double a, double b) { if (a == b) { return 0; } else { return 2 / (a - b); } } W normalnych przypadkach oczywiście nie. Ale co jeśli ai bsą bardzo bliskie, może (a-b)skutkować …
Czy istnieje funkcja, która może obciąć lub zaokrąglić Double? W pewnym momencie mojego kodu chciałbym, aby liczba taka jak: 1.23456789została zaokrąglona do1.23
Mam problemy z formatowaniem ułamków dziesiętnych podwójnej. Jeśli mam podwójną wartość, np. 4.0, jak sformatować ułamki dziesiętne, aby zamiast tego było 4,00?
Zastanawiałem się, czy istnieje sposób na uzyskanie liczby wyników z zapytania MySQL, a jednocześnie ograniczenie wyników. Jak działa paginacja (jak rozumiem), najpierw robię coś takiego query = SELECT COUNT(*) FROM `table` WHERE `some_condition` Po otrzymaniu num_rows (zapytanie) mam liczbę wyników. Ale potem, aby faktycznie ograniczyć wyniki, muszę wykonać drugie zapytanie, …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.