Pytania otagowane jako ieee-754

IEEE 754 jest najpowszechniejszym i szeroko stosowanym standardem zmiennoprzecinkowym, w szczególności binary32 o pojedynczej precyzji, czyli zmiennoprzecinkowy i podwójnej precyzji binary64, czyli formaty podwójne.

3
Dlaczego NaN - NaN == 0.0 z kompilatorem Intel C ++?
Powszechnie wiadomo, że NaN rozmnażają się w arytmetyce, ale nie mogłem znaleźć żadnych demonstracji, więc napisałem mały test: #include <limits> #include <cstdio> int main(int argc, char* argv[]) { float qNaN = std::numeric_limits<float>::quiet_NaN(); float neg = -qNaN; float sub1 = 6.0f - qNaN; float sub2 = qNaN - 6.0f; float sub3 …
300 c++  c  floating-point  ieee-754  icc 

12
Jakie są uzasadnienia dla wszystkich porównań zwracających wartość false dla wartości NaN IEEE754?
Dlaczego porównania wartości NaN zachowują się inaczej niż wszystkie inne wartości? Oznacza to, że wszystkie porównania z operatorami ==, <=,> =, <,> gdzie jedna lub obie wartości to NaN, zwraca false, w przeciwieństwie do zachowania wszystkich innych wartości. Podejrzewam, że upraszcza to w pewien sposób obliczenia numeryczne, ale nie mogłem …


9
Zmienny i podwójny typ danych w Javie
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?


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






3
Co to jest podnormalna liczba zmiennoprzecinkowa?
Strona odniesienia isnormal () mówi: Określa, czy podana liczba zmiennoprzecinkowa arg jest normalna, tj. Nie jest równa zeru, podnormalna, nieskończona ani NaN. Liczba równa zero, nieskończona lub NaN jest jasne, co to znaczy. Ale mówi też, że jest to nienormalne. Kiedy liczba jest niższa od normy?

3
Czy silniki JS mogą zmieniać bity NaN?
W JavaScript wartość NaN może być reprezentowana wewnętrznie przez szeroki zakres 64-bitowych dubletów. W szczególności każde podwójne z następującą reprezentacją bitową: x111 1111 1111 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx Jest interpretowany jako NaN. Moje pytanie brzmi: załóżmy, że rzutuję dwa 32-bitowe odcienie …
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.