导言:
计算机中数字的表示范围是有一定的限制的,像Java中,常用的数据类型,如int、double等数据类型表示的范围都是有限的,当我们要计算的数字,其位数达到成百上千时,这些数据类型无法满足我们的需求, C语言 中我们可以使用数组来储存位数,再对两个数组进行相应的运算;Java中为了处理大整数的运算,提供了一种数据类型:BigInteger,它能存储任意位数的大整数,并提供对它们进行操作的方法
大数运算:
import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); BigInteger one = scanner.nextBigInteger(); BigInteger two = scanner.nextBigInteger(); System.out.println("大数相加:" + one.add(two)); System.out.println("大数相减:" + one.subtract(two)); System.out.println("大数相乘:" + one. multiply (two)); System.out.println("大数相除:" + one.divide(two)); scanner. close (); } }
大数的基本操作
方法
类型描述public BigInteger add(BigInteger val) 普通将两个大数相加public BigInteger subtract(BigInteger val) 普通将两个大数相减public BigInteger multiply(BigInteger val) 普通将两个大数相乘public BigInteger divide(BigInteger val) 普通将两个大数相除public BigInteger max(BigInteger val) 普通返回两个大数中的最大值public BigInteger min(BigInteger val) 普通返回两个大数中的最小值public BigInteger[] divideAndRemainder(BigInteger val)
普通除发操作,数组的第一个元素为除法的商,第二个元素为除法的余数