BigInteger Java: работи с големи числа

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

Известно е, че всички примитиви имат една неприятна характеристика - тип препълване, при което изходът извън допустимите стойности води до неправилни изчисления. За това има специален клас на BigInteger. Java няма да бъде Java, освен ако няма отделен клас с функционалност и за този случай. Нека го разгледаме по-подробно.


Клас на Java на BigInteger: описание

Както вече разбрахте, класът BigInteger служи като обвивка за големи целочислени стойности. За да се капсулира броят на обектите от този тип, можете да използвате едно от претоварванията на неговите конструктори или статичната стойност на методаOf. Конструкторът като аргумент може да приеме низ или масив от байтове. В BigInteger Java, статичният valueOf метод се използва за конвертиране на цели числа, които представляват цели числа. Тъй като Java няма способността да претоварва операторите, за да изпълнява математически операции на стойности, капсулирани в този клас, се предоставят подходящи методи. Те ще продължат да говорят за тях.

Java BigInteger: Методи и примери за тяхното използване

Този клас има в своя арсенал много методи, които ви позволяват да манипулирате числени стойности и да правите различни математически операции върху тях. По-долу е даден списък от тяхметоди.



Помислете за методите, които изпълняват аритметични операции: - add (value) - изпълнява добавяне на стойности на текущия обект, с преминат като аргумент; - изваждане (изваждане) - изважда субтрактора от текущата стойност; - умножава (стойност) - извършва умножение; - divide (divider) - разделя текущата стойност на делител; - pow (int arg) - намалява стойността на обекта до стойността на arg; - abs () - връща абсолютната стойност на извикания обект; - negate () - връща обекта BigInteger, чиято стойност има обратен знак. Нека да разгледаме прост пример за изпълнение на аритметична операция върху две стойности, капсулирани в обект: - BigInteger val1 val2 добавяне, разделяне, противоположно на Sign; - val1 = нов BigInteger ("5"); - val2 = BigInteger.valueOf
; - добавяне = val1.add (val2); - разделяне = val2.divide (val1); - Обратен = val1.negate (); Обърнете внимание на начина на създаване на обекти. Променливата val1 е инициализирана с помощта на конструктора, който приема низа и запазва стойността 5. val2 има стойност 10 в резултат на статичната стойност на методаOf. Стойността на добавящата променлива е резултат от добавянето на първите две променливи и е равна на 15. Разделителната променлива, съответно, запазва резултата за изваждане. Противопозиция е равна на val1 с противоположния знак, т.е. -5.

Заключение

Както виждате, класът на BigInteger Java предоставя различни инструменти за операции с големи числа. В същото време е изключена пренаселеността на видовете, тъй като сигурността в Java има един от най-важните приоритети, разбира се, без да се прави компромис с функционалността.

Свързани публикации