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.

7
Przesyłaj na podłogę
Czy jest jakaś różnica między tymi: float foo1 = (int)(bar / 3.0); float foo2 = floor(bar / 3.0); Jak rozumiem, oba przypadki mają ten sam wynik. Czy jest jakaś różnica w skompilowanym kodzie?
120 c++  c  floating-point 

5
Niezwykłe Fast Inverse Square Root Johna Carmacka (Quake III)
John Carmack ma specjalną funkcję w kodzie źródłowym Quake III, która oblicza odwrotny pierwiastek kwadratowy z liczby zmiennoprzecinkowej, 4x szybciej niż normalnie (float)(1.0/sqrt(x)), włączając dziwną 0x5f3759dfstałą. Zobacz poniższy kod. Czy ktoś może wyjaśnić wiersz po wierszu, co dokładnie się tutaj dzieje i dlaczego działa to znacznie szybciej niż zwykłe wdrożenie? …

29
Obcinanie pływaków w Pythonie
Chcę usunąć cyfry z pływaka, aby mieć stałą liczbę cyfr po kropce, na przykład: 1.923328437452 -> 1.923 Muszę wyprowadzić jako ciąg do innej funkcji, a nie drukować. Chcę też zignorować utracone cyfry, a nie je zaokrąglić.


6
Dlaczego skalarny parametr sqrt (x) SSE jest wolniejszy niż rsqrt (x) * x?
Profilowałem część naszej podstawowej matematyki na Intel Core Duo i patrząc na różne podejścia do pierwiastka kwadratowego zauważyłem coś dziwnego: używając operacji skalarnych SSE, szybciej jest wziąć odwrotność pierwiastka kwadratowego i pomnożyć go aby uzyskać sqrt, niż użyć natywnego kodu operacji sqrt! Testuję to z pętlą coś takiego: inline float …


11
W jakiej kolejności należy dodawać liczby zmiennoprzecinkowe, aby uzyskać jak najdokładniejszy wynik?
To było pytanie, które zadałem mi na ostatnim wywiadzie i chcę wiedzieć (tak naprawdę nie pamiętam teorii analizy numerycznej, więc proszę o pomoc :) Jeśli mamy jakąś funkcję, która gromadzi liczby zmiennoprzecinkowe: std::accumulate(v.begin(), v.end(), 0.0); vjest std::vector<float>na przykład. Czy lepiej byłoby posortować te liczby przed ich zgromadzeniem? Która kolejność daje …

8
Specyfikator szerokości Printf, aby zachować precyzję wartości zmiennoprzecinkowej
Czy istnieje printfspecyfikator szerokości, który można zastosować do specyfikatora zmiennoprzecinkowego, który automatycznie sformatowałby dane wyjściowe do wymaganej liczby cyfr znaczących, tak że podczas ponownego skanowania łańcucha uzyskiwana jest oryginalna wartość zmiennoprzecinkowa? Na przykład załóżmy, że wypisuję a floatz dokładnością do 2miejsc dziesiętnych: float foobar = 0.9375; printf("%.2f", foobar); // prints …

4
Co to jest float w Javie?
Napisałem ten kod: float b = 3.6; i otrzymuję to: Błąd: nierozwiązany problem z kompilacją: Niezgodność typów: nie można przekonwertować z podwójnego na zmiennoprzecinkowy Czemu? Jaka jest definicja float?

10
„F” po numerze
Co foznaczają liczby po liczbach? Czy to z C czy Objective-C? Czy jest jakaś różnica w nie dodawaniu tego do stałej liczby? CGRect frame = CGRectMake(0.0f, 0.0f, 320.0f, 50.0f); Czy możesz wyjaśnić, dlaczego nie napisałbym po prostu: CGRect frame = CGRectMake(0, 0, 320, 50);


19
Konwertuj ciąg na zmiennoprzecinkowy w języku Swift
Próbuję przekonwertować liczby pobrane z UITextField, które, jak przypuszczam, są w rzeczywistości ciągami, i przekonwertować je na zmiennoprzecinkowe, aby móc je pomnożyć. Mam dwa, UITextfieldktóre są zadeklarowane w następujący sposób: @IBOutlet var wage: UITextField @IBOutlet var hour: UITextField Kiedy użytkownik naciska przycisk UIButton, chcę obliczyć zarobki, które zarabia użytkownik, ale …

9
Czy sprawdzanie wartości zmiennoprzecinkowych pod kątem równości do 0 jest bezpieczne?
Wiem, że normalnie nie można polegać na równości między wartościami typu podwójnego lub dziesiętnego, ale zastanawiam się, czy 0 to przypadek specjalny. Chociaż rozumiem niedokładności między 0,00000000000001 a 0,00000000000002, samo 0 wydaje się dość trudne do zepsucia, ponieważ to po prostu nic. Jeśli nic nie jesteś dokładny, to już nie …

14
Format pływa ze standardowym modułem json
Używam standardowego modułu json w Pythonie 2.6 do serializacji listy pływaków. Jednak otrzymuję takie wyniki: >>> import json >>> json.dumps([23.67, 23.97, 23.87]) '[23.670000000000002, 23.969999999999999, 23.870000000000001]' Chcę, aby liczby zmiennoprzecinkowe były sformatowane za pomocą tylko dwóch cyfr dziesiętnych. Wynik powinien wyglądać następująco: >>> json.dumps([23.67, 23.97, 23.87]) '[23.67, 23.97, 23.87]' Próbowałem zdefiniować …

11
Obliczenia zmiennoprzecinkowe i całkowite na nowoczesnym sprzęcie
Wykonuję pewne prace krytyczne dla wydajności w C ++ i obecnie używamy obliczeń całkowitych do problemów, które są z natury zmiennoprzecinkowe, ponieważ „jest szybsze”. Powoduje to wiele irytujących problemów i dodaje dużo irytującego kodu. Pamiętam, jak czytałem o tym, jak obliczenia zmiennoprzecinkowe były tak powolne przez około 386 dni, kiedy …

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.