integer aritmetikai
Számtani műveletek egész számokat osztunk szerint végezzük modulo kiegészítéseket szabályok, vagyis ha az érték meghaladja a megengedett változási tartományának számértékek a megfelelő típusú (például int, vagy hosszú), csökken a modulus megfelelő mérete tartományban. Ezért, egész szám műveletek eredménye soha nem okoz túlfolyó számjegyű rács (túlcsordulás) változó vagy eltűnését a számjeggyel (alulcsordulás - alulcsordulás) benne - a bitek száma csak át.
Amikor egész osztás maradékot dobunk (például 7/2 és egyenlő a 3 (-7) / 2 egyenlő -3). Alkalmazásának eredményeit a szereplők, és kiszámítjuk elosztjuk maradékot tekintetében az érveket teljes engedelmeskedik a következő szabály:
Tehát, 7% 2 jelentése 1 és -7% 2 -1. Ha az operandus-elválasztó szempontjából osztás és kiszámítása a maradékot adott nulla, a művelet érvénytelen, és egy kivétel típusú ArithmeticException.
Lebegőpontos aritmetikai
Végrehajtása alatt aritmetikai műveletek lebegőpontos érvek lehetséges túlcsordulás bit háló végtelen (az eredmény meghaladja a felső határértéket float vagy double típusú érték ágyazás) és alsó - gyakran nulla (az eredmény túl kicsi a float típusú vagy dupla). Ennek eredményeként a hibás számítások kifejezések (mint például osztály végtelenbe végtelenig) kapott érték NaN - «szám nem» (nem szám).
Számtani műveletek véges operandusok lebegőpontos kielégíti a tartományok a pontosságát ábrázolása értékek float és kettős, végzett kiszámíthatóan. aláírja a hozzárendelési szabályt eredményt, mint a hagyományos: a szorzás és osztás számok azonos jele az eredmény pozitív, de ha a megjelölések eltérő - negatív.
Két további végtelenek olyan eredményt ad, az azonos végtelenbe, ha a jelek azonosak, és Nan - ha a megjelölések eltérőek. Levonva az egyik végtelenbe védjegy megszerzésének értéke NaN; kivonva végtelenek különböző karakter olyan eredményt ad, végtelen a jel, amely elérhető a bal oldali operandusa. Például, (∞ - (-∞)) van ∞. A számítás eredménye az aritmetikai kifejezés, amelynek egyik operandusa NaN, mindig egyenlő NaN. Túlfolyó ad eredményeként végtelen megfelelő megjelölés és alsó elfolyó - érték (esetleg nulla) a megfelelő jelet. Amikor aritmetikai lebegőpontos műveletek támogatott negatív nulla - 0,0, ahol az összefüggésben pozitív összehasonlító operátorok nulla, + 0,0. Bár mindkét nulla egyenértékűnek tekintik, konkrétan azok eltérő eredményekre vezethetnek. Például, a számítás eredménye expressziós 1F / 0f - jelentése pozitív végtelen, és a kifejezések 1F / -0f - negatív végtelen.
Ha az eredmény az eltűnése számjeggyel van -0.0 és -0.0 ha == 0,0, hogyan kell azonosítani a tény, hogy kapok negatív nulla? Szükséges, hogy egy teszt értéke nulla a kifejezés, ahol a jel képes megmutatni magukat, és ellenőrizze az eredményt. Tegyük fel például, x tartalmazza a nulla értéket; majd az expressziós 1 / x egyenlő negatív végtelen, ha x - negatív nulla és pozitív végtelen - egyébként.
Üzemi eljárások végtelen értékek egybeesnek elfogadott matematika. Algebrai kívül bármely véges értéke végtelenbe azonos eredményt ad, a végtelenben. Például, (-∞ + x) egyenlő -∞ bármely véges értéke x.
Végtelen értékeket a Java-program segítségével határozza szimbolikus állandók POSITIVE_INFINITY (pozitív végtelen) és NEGATIVE_INFINITY (negatív végtelen), kijelentette, a wrapper osztály Float és Double. Például Double. NEGATIVE_INFINITY verzióját jelzi az értékek negatív végtelen, egy bizonyos osztály Double.
Szaporodása végtelenre nulla eredményez NaN. Ha megszorozzuk a végtelen és a nulla véges értéket kapjunk megfelelő végtelen jele.
osztás és kiszámítjuk a maradékot, amikor az a lebegőpontos érvek vezethet végtelen értékek vagy NaN, de sosem vezet kirepülő kivételek. Az eredmények a részlegek és kiszámítjuk a maradék, amikor az argumentum értékek különböző kombinációinak a 9. táblázatban látható.