Flagi liczby przy dzieleniu przez 0
Ostatnio zmodyfikowano 2015-10-17 12:54
RazzorFlame Temat założony przez niniejszego użytkownika |
Flagi liczby przy dzieleniu przez 0 » 2015-10-01 16:45:28 Zainteresował mnie przypadek gdy przykładowo float podzielimy przez 0 Taka liczba o ile pamiętam po wypisaniu przez std::cout przyjmie wartość #INF albo NaN (Not a Number), już nie pamiętam którą dokładnie. Jeżeli taki float zajmuje 32 bity w pamięci to gdzie znajdują się informacje o np. takim przypadku? Jeszcze jedno - takie coś ujrzałem na kompilatorze Microsoftu w IDE Visual Studio 2013 Express, na ideone.com wychodził błąd wykonania. |
|
Gibas11 |
» 2015-10-01 17:07:19 Też mnie ciekawi gdzie są te informacje więc dołączam się do pytania, a co do błędu na ideone, ten serwis działa prawie na pewno na Linuksie, a pod nim w przypadku dzielenia przez zero wyskakuje komunikat "Floating point exception" i program kończy pracę, nie wiem jak to wygląda w Windowsie, nie jestem już na bieżąco z tematem. |
|
DejaVu |
» 2015-10-01 17:12:10 Jeżeli chcesz znać takie szczegóły to powinieneś poczytać o assemblerze. C++ nie jest językiem niskopoziomowym. https://courses.engr.illinois.edu/ece390/books/artofasm/CH06/CH06-2.html#HEADING2-4516.5.7 The Division Instructions: DIV, IDIV, and AAD(...) The auxiliary carry, carry, overflow, parity, sign, and zero flags are undefined after a division operation. If an overflow occurs (or you attempt a division by zero) then the 80x86 executes an INT 0 (interrupt zero).
|
|
|
Monika90 |
» 2015-10-01 17:18:57 +/-inf i różne rodzaje nanów należą po prostu do zbioru wartości jakie może przyjmować typ float. Z pośród wszystkich 232 kombinacji bitów niektóre są zarezerwowane na takie właśnie potrzeby. Określa to standard IEEE 754, większość implementacji C i C++ używa tego standardu. |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2015-10-01 18:51:49 Dziękuje za odpowiedzi, z artykułu o IEEE się wiele dowiedziałem. Nie rozumiem dlaczego temat został przeniesiony do bezużytecznych. |
|
wojownik266 |
» 2015-10-01 19:09:55 Ja też tego nie rozumiem ale powiem Ci w sekrecie że nie jest to odosobniony przypadek... |
|
DejaVu |
» 2015-10-01 21:57:09 Ja go przeniosłem, ponieważ temat jest beznadziejny. Nawet w 10% nie nawiązuje do Twojego pytania postawionego w treści posta. |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2015-10-01 23:35:26 Teraz lepiej? :) |
|
« 1 » 2 |