Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Flagi liczby przy dzieleniu przez 0

Ostatnio zmodyfikowano 2015-10-17 12:54
Autor Wiadomość
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
C/C++
float Foo = 15 / 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.
P-138072
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.
P-138073
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-451

6.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).
P-138074
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.
P-138075
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.
P-138077
wojownik266
» 2015-10-01 19:09:55
Ja też tego nie rozumiem ale powiem Ci w sekrecie że nie jest to odosobniony przypadek...
P-138078
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.
P-138105
RazzorFlame
Temat założony przez niniejszego użytkownika
» 2015-10-01 23:35:26
Teraz lepiej? :)
P-138108
« 1 » 2
  Strona 1 z 2 Następna strona