Java中的BigInteger类和BigDecimal类

在现实生活中,我们经常遇到数字,有时很小但有时很大,而在编程原始数据类型时,存在一个缺点,即它们只能处理最大到一个很小的唯一范围的数字,但要满足我们的要求,Java引入了BigInteger和BigDecimal类,与原始数据类型不同,这些类可以动态处理数字,因此可以处理非常长的数字。

首先让我们讨论BigInteger类:

BigInteger类别

可以通过以下语句导入该类:import java.math.BigInteger;

如上所示,BigInteger类是math软件包的一部分。

考虑一下程序:

import java.util.Scanner;

import java.math.BigInteger;

class BigIntegerExample

{

public static void main(String args[])

{

Scanner KB=new Scanner(System.in);

String a,b;

System.out.println("Enter First Number :");

a=KB.nextLine();

System.out.println("Enter Second Number :");

b=KB.nextLine();

BigInteger A=new BigInteger(a);

BigInteger B=new BigInteger(b);

BigInteger Sum=A.add(B);

BigInteger Multiplied=A.multiply(B);

BigInteger Remain=A.remainder(B);

System.out.println("Sum Of the two Numbers is :"+Sum);

System.out.println("Multiplication of the two Numbers is :"+Multiplied);

System.out.println("Remainder when "+A+"is divided by "+B+" :"+Remain);

}

}

输出结果

Enter First Number :

142536141253654546456787823232356421653594544646585265116519

Enter Second Number :

556554655656654655556

Sum Of the two Numbers is :142536141253654546456787823232356421654151099302241919772075

Multiplication of the two Numbers is :79329153014055994331638907597080521393268861920828184819191877862617726150729564

Remainder when 142536141253654546456787823232356421653594544646585265116519is divided by 556554655656654655556 :79576899974494740771

众所周知,
java中的字符串本质上也是动态的,在上面的程序中我们实际要做的是首先以String格式输入数字,然后通过将String作为参数将String转换为BigInteger格式。在以下声明中。

BigIntegerObjectName=new BigInteger(String);

此外,还有一些默认的BigInteger声明,例如:

BigInteger.ZERO; //BigInteger常数等于0-

BigInteger.ONE;//BigInteger常数等于1-

BigInteger.TEN;//BigInteger常数等于1-0

BigInteger类中使用的方法:

方法原始数据类型(int a,b,c)BigInteger类(BigInteger A,B,C)
加成 c = a + bC = A.add(B)
乘法 c = a * bC = A。乘(B)
c = a%bC = A。余数(B)
减法 c = abC = A。减(B)

要了解有关BigInteger类中可用方法的更多信息,请单击以下Javadoc链接:LINK

以上是 Java中的BigInteger类和BigDecimal类 的全部内容, 来源链接: utcz.com/z/321526.html

回到顶部