`

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构造过程.pdf

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

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

    Java中BigInteger.docx

    java 中BigInteger应用import java.util.Scanner; import java.math.... BigInteger m=BigInteger.valueOf(2);//给高精度的数赋值; m=m.pow(n);//Integer类的方法 System.out.print(m.toString()); } } }

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

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

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

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

    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 <font color=red>原创</font>

    在Java中提供了大数字的操作类,即 java.math.BigInteger 类与 java.math.BigDecimal 类。其中,BigInteger 类是针对大整数的处理类,这里有Integer 类的解释,使用方法和实例,需要的朋友可以参考下。

    java2上课课件以及答案

    import java.math.BigInteger; import java.util.*; public class Compute { protected static ArrayList table=new ArrayList(); static { //用1初始化缓存的第一个元素 table.add(BigInteger.valueOf(1)); ...

    JAVA_API1.6文档(中文)

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

    JDK_API_1_6_zh_CN_downcc.com.zip 良心一级分

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

    1_6_zh_CN.CHM

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

    acm之java大数用法

    java.util 中 BigInteger 的使用; java.math 中 BigDecimal 的使用;&& so on. . .

    Java中的BigInteger类与BigDecimal类,细解,带例题

    使用时导包:java.math.BigInteger 作用:可以使用BigInteger操作大整数,也可以转换进制。如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类...

    BigDecimal 加减乘除运算

    Java中BigInteger的数学运算,BigDecimal 加减乘除运算,Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大...

    javaInteger大数据运算.pdf

    import java.math.BigInteger; public class DemoInteger{ public static void main(String[] args) { //四则运算:BigInteger ⼤的数据的运算 BigInteger b1=new BigInteger("100000000000000000000000"); ...

    java jdk-api-1.6 中文 chmd

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

    JavaAPI中文chm文档 part2

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

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

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

Global site tag (gtag.js) - Google Analytics