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 + b | C = A.add(B) |
乘法 | c = a * b | C = A。乘(B) |
余 | c = a%b | C = A。余数(B) |
减法 | c = ab | C = A。减(B) |
要了解有关BigInteger类中可用方法的更多信息,请单击以下Javadoc链接:LINK
以上是 Java中的BigInteger类和BigDecimal类 的全部内容, 来源链接: utcz.com/z/321526.html