2010-01-27 10 views

Odpowiedz

13

Ponieważ liczby zmiennoprzecinkowe IEEE-754 mają reprezentację nieskończoności, natomiast wartości całkowite nie.

Innymi słowy, każdy wzór bitowy w int reprezentuje normalną liczbę całkowitą; zmiennoprzecinkowych są raczej bardziej skomplikowana ze +/- nieskończoność „a nie ilość” wartości (NaN), znormalizowane wartości, wartości itp niedorozwinięty

+0

Jeśli do każdego pytania o liczby zmiennoprzecinkowe został dodany znacznik zmiennoprzecinkowy, otrzymalibyśmy kolejną złotą odznakę! –

+0

Dziękuję, proszę pana. To bardzo pomogło. – Mohit

0

Ponadto można sprawdzić JLS, który mówi:

15.17.2 Operator oddziału
Z drugiej strony, jeśli wartość dzielnika w liczbie całkowitej jest równa 0, wówczas generowany jest wyjątek arytmetyczno-wyjątkowy.

Skutkiem podziału zmiennoprzecinkowej zależy od specyfikacji IEEE arytmetyczne: Jeśli wynik nie jest liczbą, znak wynik jest dodatni, jeżeli oba argumenty mają ten sam znak, negatywnego czy operandów mają różne znaki.
Podział niezerowej skończonej wartości o zero powoduje podpisanie nieskończoności. Znak jest określony przez regułę podaną powyżej.

+0

Dziękuję, proszę pana. To bardzo pomogło. – Mohit

3

From here

Pływający-point standard IEEE, obsługiwana przez niemal wszystkich nowoczesnych procesorów, określa, że ​​każda operacja arytmetyczna zmiennoprzecinkowe, w tym dzielenie przez zero, ma dobrze zdefiniowanego rezultatu. Standard obsługuje podpisane zero, a także nieskończoność i NaN (nie numer). Istnieją dwa zera, +0 (zero dodatnie) i -0 (zero ujemne), co eliminuje wszelkie niejednoznaczności podczas dzielenia. W arytmetyce IEEE 754, ÷ +0 jest dodatnią nieskończonością, gdy a jest dodatnią, ujemną nieskończonością, gdy a jest ujemna, i NaN, gdy a = ± 0. Znaki nieskończoności zmieniają się podczas dzielenia przez -0 zamiast tego.

Podział całkowity przez zero jest zwykle traktowany inaczej niż zmiennoprzecinkowy, ponieważ nie ma reprezentacji całkowitej dla wyniku. Niektóre procesory generują wyjątek, gdy próbuje się podzielić liczbę całkowitą przez zero, chociaż inne po prostu kontynuują i generują niepoprawny wynik podziału. Wynik zależy od sposobu podziału i może wynosić zero lub czasami największą możliwą liczbę całkowitą.

+0

Dziękuję, proszę pana. To bardzo pomogło. – Mohit

Powiązane problemy