Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Java Programming/Large numbers

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

Large numbers __NOTOC__ The integer primitive type with the largest range of value is the , from -263 to 263-1. If you need greater or lesser values, you have to use the BigInteger class in the package java.math. A BigInteger object can represent any integer (as large as the RAM on the computer can hold) as it is not mapped on a primitive type. Respectively, you need to use the BigDecimal class for great decimal numbers. However, as these perform much slower than primitive types, it is recommended to use primitive types when it is possible. BigInteger The BigInteger class represents integers of almost any size. As with other objects, they need to be constructed. Unlike regular numbers, the BigInteger represents an immutable object - methods in use by the BigInteger class will return a new copy of a BigInteger. To instantiate a BigInteger, you can create it from either byte array, or from a string. For example: Code section 3.23: 1 quintillion, or 10^18. Too large to fit in a long. BigInteger i = new BigInteger("1000000000000000000"); BigInteger cannot use the normal Java operators. They use the methods provided by the class. Code section 3.24: Multiplications and an addition. BigInteger a = new BigInteger("3"); BigInteger b = new BigInteger("4"); // c = a^2 + b^2 BigInteger c = a.multiply(a).add(b.multiply(b)); It is possible to convert to a , but the may not be large enough. Code section 3.25: Conversion. BigInteger aBigInteger = new BigInteger("3"); long aLong = aBigInteger.longValue(); BigDecimal The BigInteger class cannot handle decimal numbers. The BigDecimal class represents a floating point value of arbitrary precision. It is composed of both a BigInteger, and a scale value (represented by a 32-bit integer). Add some exercises like the ones in Variables 75%