`

46、java.math.BigInteger类

阅读更多

一、BigInteger类

 

/**
 * BigInteger
 * 不可变的任意精度的整数。
 * 所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型)。
 * BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。
 * 另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。 
 * 算术运算的语义完全模仿 Java 整数算术运算符的语义
 * 位移操作的语义扩展了 Java 的位移操作符的语义以允许产生负位移距离。带有负位移距离的右移操作会导致左移操作,反之亦然。忽略无符号的右位移运算符(>>>)
 * 提供的模算术操作用来计算余数、求幂和乘法可逆元
 */
public class BigInteger extends Number implements Comparable<BigInteger> 
{
	//构造方法

	/**
	 * 将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
	 * 该字符串表示形式包括一个可选的减号,后跟一个或多个十进制数字序列。
	 * 字符到数字的映射由 Character.digit 提供。该字符串不能包含任何其他字符(例如,空格)。 
	 */
	public BigInteger(String val){}

	public BigInteger(String val,
                  int radix){}//radix指定基数

	//常用方法

	//返回其值为 (this + val) 的 BigInteger。 
	public BigInteger add(BigInteger val){}

	//返回其值为 (this - val) 的 BigInteger。
	public BigInteger subtract(BigInteger val){}

	//返回其值为 (this * val) 的 BigInteger。
	public BigInteger multiply(BigInteger val){}

	//返回其值为 (this / val) 的 BigInteger。
	public BigInteger divide(BigInteger val){}

	//返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。 即返回商和余数
	public BigInteger[] divideAndRemainder(BigInteger val){}
}

 

二、示例

 

import java.math.*;
class  BigIntegerDemo
{
	public static void main(String[] args) 
	{
		String num1 = "2135484";
		String num2 = "0005";
		System.out.println(num1+" + "+num2+" = "+add(num1,num2));
		System.out.println(num1+" - "+num2+" = "+sub(num1,num2));
		System.out.println(num1+" * "+num2+" = "+mul(num1,num2));
		BigInteger[] bis = div(num1,num2);
		System.out.println(num1+" / "+num2+" = "+bis[0]+"余:"+bis[1]);
	}
	//加
	public static String add(String num1,String num2)
	{
		BigInteger bi1 = new BigInteger(num1);
		BigInteger bi2 = new BigInteger(num2);
		return bi1.add(bi2).toString();
	}
	//减
	public static String sub(String num1,String num2)
	{
		BigInteger bi1 = new BigInteger(num1);
		BigInteger bi2 = new BigInteger(num2);
		return bi1.subtract(bi2).toString();
	}
	//乘
	public static String mul(String num1,String num2)
	{
		BigInteger bi1 = new BigInteger(num1);
		BigInteger bi2 = new BigInteger(num2);
		return bi1.multiply(bi2).toString();
	}
	//除
	public static BigInteger[] div(String num1,String num2)
	{
		BigInteger bi1 = new BigInteger(num1);
		BigInteger bi2 = new BigInteger(num2);
		return bi1.divideAndRemainder(bi2);
	}
}

 

分享到:
评论

相关推荐

    java.math.BigDecimal 操作类

    java.math.BigDecimal 操作类,包含加减乘除、String型加减乘除精度格式化转换计算等

    Can't find a codec for class java.math.BigDecimal.txt

    解决mongo数据插入时 报错问题 mogodb插入数据时报错Can't find a codec for class java.math.BigDecimal

    浅析java.math.BigInteger构造过程.pdf

    java.math.BigInteger 是 Java 标准库中一个非常重要的类,它能够表示任意精度的整数,并在其上进行常见的数学运算。下面我们将对 BigInteger 的构造过程进行详细的分析。 首先,我们需要了解 BigInteger 的成员域...

    debug:eclipse连接mysql数据库时报错java.math.BigInteger cannot be .pdf

    `java.math.BigInteger`是Java标准库中的一个类,用于处理大整数。在MySQL的某些操作中,如处理主键或唯一标识符时,可能会涉及到此类。如果驱动程序与数据库之间的版本不匹配,可能会导致数据类型转换失败,从而抛...

    RSA.rar_BigInteger_RSA BigInteger_RSA java biginteger_RSA 类 java

    在Java中,我们可以使用`java.math.BigInteger`类来处理大整数,这在实现RSA算法时非常关键,因为加密过程中涉及的数字通常超过了普通整型变量的范围。以下是关于`BigInteger`类以及如何在Java中实现RSA加解密的详细...

    关于 Java Collections API 您不知道的 5 件事,第 1 部分

    在这个例子中,`Person` 类通过实现 `Iterable&lt;Person&gt;` 接口,允许外部代码使用增强的 for 循环直接访问其孩子列表,而无需暴露内部的数据结构。这种设计模式不仅提高了代码的可读性和简洁性,还确保了数据的安全性...

    java中math类的使用

    在Java编程语言中,`java.lang.Math`类提供了一系列用于执行基本数学运算的方法和常量。这个类包含静态方法和常量,使得开发者无需实例化对象即可直接调用其功能,极大地简化了数学计算的过程。 ### 常量 #### ...

    node-biginteger:java.math.BigInteger的node.js版本

    类方法:BigInteger.fromLong(val) 瓦尔朗 返回:BigInteger 类方法:BigInteger.fromString(val,[radix]) val字符串 radix int,可选,默认值:10 返回:BigInteger 类方法:BigInteger.fromBuffer(信号量...

    java.math包下计算浮点数和整数的类的实例

    Java.math 包下计算浮点数和整数...Java.math 包下计算浮点数和整数的类的实例非常重要, BigInteger 和 BigDecimal 两个类是 Java.math 包中的核心类,它们提供了高精度的整数和浮点数运算,用于解决复杂的数学问题。

    基于Java BigInteger类的大整数运算应用.pdf

    BigInteger类是Java.math包中的一个类,提供任意精度的整数运算。BigInteger类封装了大整数的加、减、乘、除、求余、幂运算和比较运算等。BigInteger类的使用可以解决许多高精度运算问题。 2. BigInteger类的构造...

    API规范JAVA.pdf

    * java.math 是 Java 2 Platform 的一部分,提供了用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 21、网络应用程序:java.net 为实现网络应用程序提供类。 * java.net 是 Java 2...

    java 类与对象基础

    import java.math.*; class BigIntegerExample { public static void main(String args[]) { BigInteger n1=new BigInteger("987654321987654321987654321"), n2=new BigInteger("123456789123456789123456789...

    Java中BigInteger.docx

    这个类是 `java.math` 包的一部分,它提供了比 `int` 和 `long` 更大的范围,可以用来处理超过64位的整数值。在处理大数据量的数学计算、密码学或金融计算等领域时,`BigInteger` 是非常重要的工具。 在给定的代码...

    java中数学操作类的简介共5页.pdf.zip

    除了这些基本的数学操作,Java还提供了其他类来处理复数(`java.math.Complex`),大数(`java.math.BigInteger`和`java.math.BigDecimal`)以及高精度浮点数(`java.math.BigDecimal`)。这些类在需要更高精度或更...

    java:大数运算的BigInteger类型(整数类)的一些运算

    import java.math.BigInteger; BigInteger big_number_0=new BigInteger(“A”); A为大数的值,可以是Integer类范围内或外的数。 方法相关(A为前面定义的大数) big_number_0.add(new BigInteger(“b”)) ····...

    java练习_大数运算_BigInteger.pdf

    BigInteger 是 Java.math 包中的一个类,用于处理大整数运算。它提供了多种方法来对大整数进行操作,包括加、减、乘、除和取余等。 下面是 BigInteger 类的一些常用方法: 1. `valueOf()` 方法:该方法用于将一个...

    java-BigInteger-BigDecimal类源码

    通过阅读`BigInteger.java`和`BigDecimal.java`的源代码,我们可以深入了解这两个类的实现细节,包括它们如何存储和操作数值,以及各种算法的实现。源代码分析可以帮助我们理解内部工作原理,提高性能优化的能力,...

    JDBC数据类型与数据库字段对应表——mysql篇

    JDBC数据类型与数据库字段对应表——mysql篇 数值型 整型 JDBC tinyint java.lang.Integer smallint mediumint java.lang.Long int bigint java.math.BigInteger

    JAVA_API1.6文档(中文)

    java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio....

Global site tag (gtag.js) - Google Analytics