谁能帮我讲讲java中的BigInt和BigInteger数据类型

Python014

谁能帮我讲讲java中的BigInt和BigInteger数据类型,第1张

BigInteger

是java.math包里的

楼主可以具体查看一下API

不可变的任意精度的整数。所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型)。BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。

java中没有BigInt

Sql中有BIGINT

SQL中的BIGINT使用带符号的BIGINT进行所有算法,因此除了位函数,不应使用大于9223372036854775807(63位)的无符号的大整数

所以java中biginteger和sql中bigint最大的区别就是,前者可以无限大,后者也是有限的

compareTo方法来比较,小于则返回-1,等于则返回0,大于则返回1

BigInteger a1 = new BigInteger("1")

BigInteger a2 = new BigInteger("2")

a1.compareTo(a2)

下面的例子显示math.BigInteger.compareTo()方法的用法

package com.yiibaiimport java.math.*public class BigIntegerDemo {public static void main(String[] args) {

// create 2 BigInteger objects

BigInteger bi1, bi2

bi1 = new BigInteger("6")

bi2 = new BigInteger("3")

// create int object

int res

// compare bi1 with bi2

res = bi1.compareTo(bi2)

String str1 = "Both values are equal "

String str2 = "First Value is greater "

String str3 = "Second value is greater"

if( res == 0 )

System.out.println( str1 )

else if( res == 1 )

System.out.println( str2 )

else if( res == -1 )

System.out.println( str3 )

}}

让我们编译和运行上面的程序,这将产生以下结果:

First Value is greater