BigInteger: 不可变的任意精度的整数
API: http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
Example:
package javastudy;
import java.math.BigInteger;
/**
*
* api: http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
*/
public class BigIntegerBasics {
public static void main(String[] args) {
///BigInteger(String val): 将 BigInteger 的十进制字符串表示形式转换为 BigInteger
BigInteger bi = new BigInteger("23888888888");
System.out.println(bi);
//BigInteger(String val, int radix): 将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger
System.out.println(new BigInteger("110",2)); //字符串数字表示二进制
System.out.println(new BigInteger("110",10)); //字符串数字表示十进制
System.out.println(new BigInteger("110",16)); //字符串数字表示十六进制
//BigInteger(byte[] val): 将包含 BigInteger 的二进制补码表示形式的 byte 数组转换为 BigInteger
byte[] bt = "110".getBytes();
System.out.println(new BigInteger(bt));
//BigInteger(int signum, byte[] magnitude): 将 BigInteger 的符号-数量表示形式转换为 BigInteger
System.out.println(new BigInteger(1, bt));
System.out.println(new BigInteger(-1, bt));
//加减乘除
BigInteger bi1 = new BigInteger("15");
BigInteger bi2 = new BigInteger("16");
System.out.println("bi1 + bi2 = " + bi1.add(bi2));
System.out.println("bi2 - bi1 = " + bi2.subtract(bi1));
System.out.println("bi2 * bi1 = " + bi2.multiply(bi1));
System.out.println("bi2 / bi1 = " + bi2.divide(bi1));
}
}