nisfarm.ru

BigInteger Java: práce s velkými čísly

Jazyk Java se používá hlavně pro psaní velkých podnikových webových aplikací. Platí to i pro jiné oblasti, kde je často nutné pracovat velmi velkých čísel.

Přestože Java má primitivní typy, existují situace, kdy nestačí.

biginteger java

Je známo, že všechny primitivy mají jednu nepříjemnou vlastnost - přetečení typu, při kterém překročení povolených hodnot vede k nesprávným výpočtům. K tomu je speciální třída s názvem BigInteger. Java by nebyla Java, pokud by neměla samostatnou třídu s funkčností pro tento případ. Zvažme to podrobněji.

Třída Java třídy BigInteger: popis

Jak jste již věděli, třída BigInteger slouží jako obal pro velké celočíselné hodnoty. Chcete-li zapsat číslo do objektu tohoto typu, můžete použít jedno z přetížení jeho konstruktorů nebo metodu statické hodnotyOf. Konstruktor může vzít řetězec nebo pole bajtů jako argument. Chcete-li převést jednoduché typy, které reprezentují celá čísla, použijte metodu statické hodnoty v nástroji BigInteger Java.

Protože má Java schopnost přetížení obsluhy Neexistuje odpovídající metoda pro provádění matematických operací s zapouzdřenými hodnotami v dané třídě. Budou se dále diskutovat.

Java BigInteger: metody a příklady jejich použití

Tato třída má ve svém arzenálu mnoho metod, které vám umožňují manipulovat s číselnými hodnotami a provádět na nich různé matematické operace. Níže je uveden seznam těchto metod.




java biginteger metody

java biginteger metody

Analyzujeme metody, které provádějí aritmetické operace:

- add (hodnota) - přidává hodnoty aktuálního objektu s argumentem předaným jako;

- odečíst (odečírá) - odčítavá odčítač od aktuální hodnoty;

- násobí (hodnota) - provede násobení;

- dělení (rozdělovač) - dělí aktuální hodnotu na dělič;

- pow (int arg) - Zvyšuje hodnotu volaného objektu na hodnotu velikosti v arg;

- abs () - vrátí absolutní hodnotu volaného objektu;

- negate () - vrátí objekt BigInteger, jehož hodnota má opačný znak.

Podívejme se na jednoduchý příklad provádění aritmetické operace na dvou hodnotách zapouzdřených v objektu:

- BigInteger val1, val2, přidání, dělení, oppositeSign;

- val1 = nový BigInteger ("5");

- val2 = BigInteger.valueOf (10);

- přidání = val1.add (val2);

- dělení = val2.divide (val1);

- oppositeSign = val1.negate ();

Všimněte si, jak vytvořit objekty. Proměnná val1 byla inicializována pomocí konstruktoru, který přijal řetězec, a uloží hodnotu 5. val2 je 10 jako výsledek metody statické hodnotyOf. Hodnota přidané proměnné je výsledkem přidání prvních dvou proměnných a je 15. Proměnná dělení odpovídajícím způsobem ukládá výsledek odečítání. oppositeSign se rovná hodnotě val1 s opačným znaménkem, tj. -5.

Závěr

Jak můžete vidět, třída BigInteger Java poskytuje různé nástroje pro operace na velmi velkých počtech. V takovém případě jsou typu overflow eliminovány, jelikož bezpečnost v Javě má ​​jednu z nejvyšších priorit, přirozeně bez kompromisů funkčnosti.

Sdílet na sociálních sítích:

Podobné
© 2021 nisfarm.ru