BigInteger:数字超出int范围的大数类

BigInteger概述

BigInteger是Number的子类。
BigInteger提供了所有Java的原始整数运算符和java.lang.Math中所有相关方法的类比。
此外,BigInteger还提供了模数运算,GCD计算,原始测试,初级生成,位操作以及其他一些其他操作的操作。

常用的构造方法:

BigInteger(byte[] val)
将包含BigInteger的二进制补码二进制表达式的字节数组转换为BigInteger。

BigInteger(String val)
将BigInteger的十进制字符串表示形式转换为BigInteger。

BigInteger(String val, int radix)
将指定基数中的BigInteger的String表示形式转换为BigInteger。

高频方法

BigInteger abs()
返回一个BigInteger,它的值是此BigInteger的绝对值。

BigInteger add(BigInteger val)
返回值为 (this + val) 。

BigInteger subtract(BigInteger val)
返回值为 (this - val) 。

BigInteger multiply(BigInteger val)
返回值为 (this * val) 。

BigInteger divide(BigInteger val)
返回值为 (this / val) 。

BigInteger remainder(BigInteger val)
返回值为 (this % val) 。

例子:
使用BigInteger计算1到100的阶乘和

import java.math.BigInteger;

public class Demo {

	public static void main(String[] args) {
	
		BigInteger bi1 = new BigInteger("1");  //累乘变量
		
		BigInteger bi2 = new BigInteger("0");  //累加变量

		for (int i = 1; i <= 100 ; i++) {
		
			bi1 = bi1.multiply(new BigInteger(i+""));   //注意构造方法中类型匹配,参数不能为int
			
			bi2 = bi2.add(bi1);
			
		}
		
		System.out.println("1到100的阶乘和:"+bi2.toString());   //BigInteger为引用类型,打印时调用toString()
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值