ПредишенСледващото

Аритметични операции с целочислени операнди се извършват съгласно модул правила добавки, т.е. ако стойността надхвърля допустимата вариация обхвата на числени стойности на съответния вид (например, междинно съединение, или дължина), намалява в модул, съответстваща на размера на този диапазон. Следователно, целочислени операции резултати никога не предизвика препълване цифри мрежа (преливник) вариабилен или изчезването на значещите цифри (долен поток - долен поток) в него - броя битове могат да бъдат прехвърлени само.

Когато число разделяне остатък се изхвърля (например, 7/2 и равна на 3 (-7) / 2 е равна -3). Резултати от прилагане на операторите и изчисляване раздели остатък по отношение на типа аргументи цели подчиняват следното правило:

Така, 7% 2 е 1 и 7% 2 е -1. Ако операнд-разделител по отношение на делене на цяло число и изчисляване на остатъка се дава нула, операцията е невалиден и вид изключение ArithmeticException един.

Плаваща запетая аритметично

По време на изпълнение на аритметични операции върху числа с плаваща запетая аргументи възможно преливане малко окото до безкрайност (резултатът надхвърля горната граница на плувка или стойности от типа на двоен оправяне на леглото) и долния поток - често до нула (резултатът е твърде малък, за плувка тип или двойна). В резултат на неправилни изчисления на изрази (като, например, разделяне безкрайност до безкрайност) стойност, получена NaN - «номер не» (не е номер).

Аритметични операции над крайни операнди с плаваща точка, отговаряща на обхватите на точността на представяне на стойности се носят и двойна, извършени предсказуемо. подпише резултат на правило задача като традиционна: за умножение и деление на числа с един и същ знак на резултатът е положителен, но ако знаците са различни - отрицателна.

Добавяне на две безкрайности дава в резултат на една и съща безкрайност, ако знаците са едни и същи, и NaN - ако знаците са различни. Когато се извади една от безкрайност марка е получена стойност NaN; изваждане на безкрайности на различни герои дава в резултат на безкрайност със знака, който е на разположение за левия операнд. Например, (∞ - (-∞)) имат ∞. Резултатът от изчислението на аритметичен израз, един от чийто операнди е NaN, винаги равна на NaN. Overflow дава като резултат инфинити на подходящ знак и незареден - стойност (вероятно нула) на съответната маркировка. При изпълнение на аритметични операции с плаваща запетая поддържа отрицателно нула - 0.0, в която контекст положителни оператори сравнение е нула, + 0.0. Въпреки че и двете нула се считат за еквивалентни, по-конкретно, те могат да доведат до различни резултати. Например, резултатът на изчисление на експресия 1е / 0f - е положителен безкрайност, и изразите 1е / -0f - отрицателен безкрайност.

Ако в резултат на изчезването на значещи цифри е -0.0 и -0.0 ако == 0.0, как да се идентифицират на факта на получаване на отрицателен нула? Необходимо е да се сложи тест стойност, равна на нула в израза, когато знакът е в състояние да се покаже и да се провери резултата. Да предположим, например, х съдържа стойност нула; След експресията 1 / х е равно на отрицателен безкрайност ако х - отрицателен нула и положителен безкрайност - друго.

Оперативни процедури с безкрайни стойности съвпадат с тези, приети в областта на математиката. Алгебрично допълнение на всяка крайна величина на безкрайност дава същия резултат в безкрайността. Например, (-∞ + х) е равна на -∞ за всеки краен стойност на х.

Infinite стойности в Java-програма са определени с помощта на символична константи POSITIVE_INFINITY (положителна безкрайност) и NEGATIVE_INFINITY (отрицателна безкрайност), декларирани в плувка обвивка клас и двойно. Например, два пъти. NEGATIVE_INFINITY показва версията на стойностите на отрицателна безкрайност, в определен клас два пъти.

Размножаване на инфинити с нулев резултат в NaN. Когато се умножи безкрайност на ненулева крайна величина ще се получи съответен безкрайност знак.

операция деление и изчисляване на остатък, когато се прилагат към аргументите на числа с плаваща запетая може да доведе до безкрайни стойности или NaN, но никога не ще доведе до изхвърлянето на изключения. Резултатите от разделения и изчисляване на остатъка когато стойностите аргумент на различни комбинации показани в Таблица 9.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!