首页 > 编程知识 正文

double转bigdecimal精度,biginteger取值范围

时间:2023-05-03 22:23:14 阅读:50819 作者:3960

位置: java.math.BigInteger

作用:提供高精度整数数据类型及相关操作

一、基本介绍

BigInteger是不变的任意精度整数。 对象创建后不能更改,每次运算都会生成新对象。

在所有操作中,biginteger(Java和基本整数类型)表示为二进制补数。

为所有Java提供基本整数运算符(如)/-的对应关系) )的一堆函数)。

提供与java.lang.Math相关的所有方法。 它还提供模拟运算、GCD计算(最大公约数)、素数测试、素数生成、位操作和其他操作。

算术运算、比特单位逻辑运算的意义完全模仿了Java整数算术运算符的意义。

偏移操作可以生成负偏移距离,而忽略无符号右偏移运算符() )。

比较操作执行有符号整数比较。 类似于比较Java关系运算符和等效运算符。

模运算用于计算馀数、求幂、求乘法的可逆元。 这些方法总是返回非负结果,范围从0到(modulus - 1 ) ) ) ) ) )。

位操作操作操作操作数的二进制补数表示的一个位。 如果需要,操作数将包含扩展符号中指定的位。 单位操作不能生成与正在操作的BigInteger元件不同的BigInteger。 为什么这么说,是因为这些只影响单一比特。 此外,提供这种“无限大大小”抽象可以确保每个BigInteger前面有无限的“虚拟符号位”数量。

当null对象引用传递给输入参数时,类中的所有方法和构造方法都会抛出NullPointerException。

二.场地

staticbigintegerone//big integer常数1

staticbigintegerten//big integer常数10

staticbigintegerzero//big integer常数0

三.生成BigInteger对象

构造函数

BigInteger(byte[]val ) /将包含BigInteger的二进制补码表示的byte数组转换为BigInteger

biginteger(intsignum,byte[] magnitude )/byte数组相同,signum表示符号。 1为正,-1为负,0为零。 如果signum为0,则byte数组不能包含非零字节。 ) )

生成BigInteger (整数,整数,随机rnd ) BigInteger伪随机数。 这可能是具有指定比特长度(概率为1 - 1/2certainty或更高)的素数

生成biginteger(intnumbits,Random rnd ) BigInteger伪随机数,其值均匀分布在[ 0,2 numb its-1 ]

BigInteger (字符串值) /将BigInteger的十进制字符串表示形式转换为BigInteger。 可以包含前导减号

将BigInteger (字符串val,int radix ) /指定基数)的BigInteger字符串表示形式转换为BigInteger

四.常(suo )用) you )方法

算术运算(- */% mod ) ) )。

BigIntegeradd(bigintegerval ) /返回具有) this val ()值的biginteger

返回bigintegersubtract (bigintegerval ) /值为) this - val的biginteger

返回BigInteger negate ()//值为(-this )的BigInteger

返回bigintegermultiply (bigintegerval ) /值为) this * val的biginteger

BigIntegerdivide(bigintegerval ) /返回具有) this/val值的biginteger

返回bigintegerremainder (bigintegerval ) /值为) this % val的biginteger

biginteger [ ] divideandremainder (bigintegerval ) /返回两个big integer的数组,(this/val )后面跟有) this % val

返回BigIntegermod(bigintegerm )//其值为(this mod m )的biginteger (与%不同,其值始终为正,下同)

bigintegermodinverse (bigintegerm ) /返回值为) this-1mod m的biginteger

BigInteger modPo

w( BigInteger exponent , BigInteger m )  返回其值为(thisexponentmod m)的BigInteger(exponent可以为负)

关系运算(==>  >=  <  <=  !=)

int  compareTo( BigInteger val )//将此BigInteger与指定的BigInteger进行比较 ,this>val返回1,this==val返回0,this>val返回-1。使用:(a.compareTo(b) 0),表示关系运算符

boolean equals( Object x )//比较此BigInteger与指定的Object的相等性(当且仅当指定的 Object 是一个其值在数字上等于此 BigInteger 的 BigInteger 时,返回 true)

逻辑运算(&  |  ~  ^  &~)

BigInteger and( BigInteger val )//返回其值为(this & val)的BigInteger

BigInteger or( BigInteger val )//返回其值为(this | val)的BigInteger

BigInteger not()//返回其值为(~this)的BigInteger

BigInteger xor( BigInteger val )//返回其值为(this ^ val)的BigInteger

BigInteger andNot(BigInteger val)//返回其值为(this &~ val)的BigInteger

移位运算(<<  >>)

BigInteger shiftLeft( int n )  //返回其值为(this << n)的BigInteger,n可为负,此时相当于执行右移操作

BigInteger shiftRight( int n )//返回其值为(this >> n)的BigInteger,执行符号扩展,n可为负,此时相当于执行左移操作

其他二进制运算

int  bitCount()//返回此BigInteger的二进制补码表示形式中与符号不同的位的数量

int  bitLength()//返回此BigInteger的最小的二进制补码表示形式的位数,不包括符号位,对于正 BigInteger,这等于常规二进制表示形式中的位数

boolean testBit( int n )   //当且仅当设置了指定的位时,返回true,即计算((this & (1 << n)) != 0)

BigInteger setBit( int n )//返回其值与设置了指定位的此BigInteger等效的BigInteger,即计算(this | (1 << n))

BigInteger clearBit( int n )//返回其值与清除了指定位的此BigInteger等效的BigInteger,即计算(this &~ (1 << n))

BigInteger flipBit( int n )//返回其值与对此BigInteger进行指定位翻转后的值等效的BigInteger,即计算(this ^ (1 << n))

int  getLowestSetBit()//返回此BigInteger最右端(最低位)1比特的索引(即从此字节的右端开始到本字节中最右端1比特之间的0比特的位数)如果此 BigInteger 不包含一位,则返回 -1,即计算(this==0? -1 : log2(this & -this))

BigInteger与其他类型转换

static BigInteger valueOf( long val )//返回其值等于指定long型变量值的BigInteger(比long小的基本类型可以转化为long呦)

int intValue()//将此BigInteger转换为int,此转换类似于高精度变量向低精度变量的转换(如long到int),下同

long longValue()//将此BigInteger转换为long

float floatValue()//将此BigInteger转换为float

double doubleValue()//将此BigInteger转换为double

byte[] toByteArray()//返回一个byte数组,该数组包含此BigInteger的二进制补码表示形式

String toString()//返回此BigInteger的十进制字符串表示形式

String toString( int radix )  //返回此BigInteger的给定基数(进制)的字符串表示形式

数学函数

BigInteger abs()//返回其值是此BigInteger的绝对值的BigInteger

BigInteger gcd( BigInteger val )  //返回一个BigInteger,其值是abs(this)和abs(val)的最大公约数

BigInteger pow( int exponent )  //返回其值为(thisexponent)的BigInteger,exponent必须为正数

BigInteger max( BigInteger val )  //返回此BigInteger和val的最大值

BigInteger min( BigInteger val )  //返回此BigInteger和val的最小值

int  hashCode()  //返回此BigInteger的哈希码

boolean isProbablePrime( int certainty )  //如果此BigInteger可能为素数,则返回true,如果它一定为合数,则返回false。(certainty为调用方允许的不确定性的度量,如果该调用返回 true,则此 BigInteger 是素数的概率超出 (1 - 1/2certainty),此方法的执行时间与此参数的值是成比例的)

BigInteger nextProbablePrime()  //返回大于此BigInteger的可能为素数的第一个整数

static BigInteger probablePrime( int bitLength , Random rnd )  //返回有可能是素数的、具有指定长度bitLength的正BigInteger

int  signum()  //返回此BigInteger的正负号,1为正,-1为负,0为零

一些写得不错的相关文章:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。