BigInteger abs() 
此方法返回一个BigInteger,其值是此BigInteger的绝对值。
2 BigInteger add(BigInteger val)
此方法返回一个BigInteger,其值是(this + val).
3 BigInteger and(BigInteger val)
此方法返回一个BigInteger,其值是 (this & val).
4 BigInteger andNot(BigInteger val) 
此方法返回一个BigInteger,其值是 (this & ~val).
5 int bitCount()
此方法返回此BigInteger的二进制补码表示的位,从符号位不同的数字。
6 int bitLength() 
此方法返回位在此BigInteger的最小的二进制补码表示的数,不包括符号位。
7 BigInteger clearBit(int n)
此方法返回一个BigInteger,其值相当于此BigInteger与指定位清零。
8 int compareTo(BigInteger val)
此方法比较此BigInteger与指定的BigInteger。
9 BigInteger divide(BigInteger val)
此方法返回一个BigInteger,其值是 (this / val).
10 BigInteger[ ] divideAndRemainder(BigInteger val)
此方法返回一个包含两个BigIntegers:(this / val) 和 (this % val),其次是一个数组。
11 double doubleValue()
此方法此BigInteger转换为双精度double。 
12 boolean equals(Object x)
此方法比较此BigInteger与指定对象是否相等。
13 BigInteger flipBit(int n)
此方法返回一个BigInteger,其值相当于此BigInteger与指定位翻转。
14 float floatValue()
此方法将BigInteger转换为float。
15 BigInteger gcd(BigInteger val) 
此方法返回一个BigInteger,其值是绝对值的最大公约数:abs(this) 和abs(val)。
16 int getLowestSetBit()
此方法返回最右边的(最低阶)的索引在此BigInteger1比特(零比特的数量,以最右侧的1位的右侧)。
17 int hashCode()
此方法返回此BigInteger的哈希代码。
18 int intValue()
此方法此BigInteger转换为int。
19 boolean isProbablePrime(int certainty)
此方法返回true,如果此BigInteger是素数,其绝对复合数则返回false。
20 long longValue()
些方法将BigInteger转换为long。
21 BigInteger max(BigInteger val)
此方法返回此BigInteger和val的最大值。
22 BigInteger min(BigInteger val)
此方法返回此BigInteger和val的最小值。
23 BigInteger mod(BigInteger m)
此方法返回一个BigInteger,其值是(this mod m).
24 BigInteger modInverse(BigInteger m)
此方法返回一个BigInteger,其值是 (this-1 mod m).
25 BigInteger modPow(BigInteger exponent, BigInteger m)
此方法返回一个BigInteger,其值是 (thisexponent mod m).
26 BigInteger multiply(BigInteger val)
此方法返回一个BigInteger,其值是 (this * val).
27 BigInteger negate()
此方法返回一个BigInteger,其值是 (-this).
28 BigInteger nextProbablePrime() 
此方法返回一个整数大于该BigInteger的可能是素数。
29 BigInteger not()
此方法返回一个BigInteger,其值是 (~this).
30 BigInteger or(BigInteger val)
此方法返回一个BigInteger,其值是 (this | val).
31 BigInteger pow(int exponent)
此方法返回一个BigInteger,其值是(thisexponent).
32 static BigInteger probablePrime(int bitLength, Random rnd)
此方法返回一个正BigInteger的可能是素数,以指定的bitLength。
33 BigInteger remainder(BigInteger val)
此方法返回一个BigInteger,其值是 (this % val).
34 BigInteger setBit(int n)
此方法返回一个BigInteger,其值相当于此BigInteger与指定的位设置。
35 BigInteger shiftLeft(int n)
此方法返回一个BigInteger,其值是 (this << n).
36 BigInteger shiftRight(int n)
此方法返回一个BigInteger,其值是 (this >> n).
37 int signum() 
This method returns the signum function of this BigInteger.
38 BigInteger subtract(BigInteger val)
此方法返回一个BigInteger,其值是 (this - val).
39 boolean testBit(int n)
此方法返回当且仅当所指定的位被设置为真。
40 byte[ ] toByteArray()
此方法返回一个包含此BigInteger的二进制补码表示的字节数组。
41 String toString() 
此方法返回此BigInteger的十进制字符串表示形式。
42 String toString(int radix) 
此方法返回在给定的基数以BigInteger的字符串表示形式。
43 static BigInteger valueOf(long val)
此方法返回一个BigInteger,其值等于指定long。
44 BigInteger xor(BigInteger val) 
此方法返回一个BigInteger,其值是 (this ^ val).

详情https://www.yiibai.com/java/math/java_math_bigdecimal.html

大整数类:

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;public class q {public static void main(String[] args) {BigInteger a = BigInteger.valueOf(20);BigInteger b = BigInteger.valueOf(450);System.out.println(a);System.out.println(b);//加法System.out.println(a.add(b));System.out.println(a.add(a));System.out.println(a.add(b).add(b));//减法System.out.println(a.subtract(a));System.out.println(a.subtract(b));System.out.println(b.subtract(a).subtract(a));//乘法System.out.println(a.multiply(a));System.out.println(a.multiply(b));System.out.println(a.multiply(b).multiply(b));//除法System.out.println(a.divide(a));System.out.println(a.divide(b));//10/2000=0System.out.println(b.divide(a));System.out.println(b.divide(a).divide(a));//取模BigInteger mod = BigInteger.valueOf(3);System.out.println(b.mod(mod));}
}

大数:

构造器描述

BigDecimal(int)       创建一个具有参数所指定整数值的对象。

BigDecimal(double) 创建一个具有参数所指定双精度值的对象。

BigDecimal(long)    创建一个具有参数所指定长整数值的对象。

BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。

方法描述

add(BigDecimal)        BigDecimal对象中的值相加,然后返回这个对象。

subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。

multiply(BigDecimal)  BigDecimal对象中的值相乘,然后返回这个对象。

divide(BigDecimal)     BigDecimal对象中的值相除,然后返回这个对象。

toString()                将BigDecimal对象的数值转换成字符串。  (一般都用toPlainString())

doubleValue()          将BigDecimal对象中的值以双精度数返回。

floatValue()             将BigDecimal对象中的值以单精度数返回。

longValue()             将BigDecimal对象中的值以长整数返回。

intValue()               将BigDecimal对象中的值以整数返回。

常用搭配:stripTrailingZeros().toPlainString();  在保证数值不变的前提下,去除后缀0,并且保留十进制的特性。
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;public class q {public static void main(String[] args) {//如果加引号了或者是直接控制台读入的,默认使用了string的构造器,否则相当于是intBigDecimal a = new BigDecimal(10);BigDecimal b = new BigDecimal(10.5);BigDecimal c = new BigDecimal(123456789101222L);BigDecimal d = new BigDecimal("-123456.31");System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);//四则运算System.out.println(a.add(b).add(c).add(d));System.out.println(a.subtract(b).subtract(a));System.out.println(a.multiply(b).multiply(c));System.out.println(c.divide(a).divide(new BigDecimal(20)));System.out.println(d.divide(a));System.out.println(d.doubleValue());System.out.println(a.compareTo(a));// 0System.out.println(a.compareTo(b));// -1System.out.println(b.compareTo(a));// 1BigDecimal aa = new BigDecimal(10.00);BigDecimal bb = new BigDecimal(10.000);BigDecimal cc = new BigDecimal(200);String aa = di.stripTrailingZeros().toPlainString();System.out.println(aa.equals(aa));// true?System.out.println(aa.equals(bb));// true?System.out.println(aa.equals(cc));//false}}

保留位数:

例如:1.将f1保留2位有效数字输出2.将f1保留4位有效数字输出1.System.out.println((double)(Math.round(f1*100)/100.0));2.System.out.println((double)(Math.round(sd3*100)/100.0));注意:若数据只有小数点后第n位为0,则保留到不为0的位;如3.14003保留1位结果:3.1保留2位结果:3.14保留3位结果:3.14保留4位结果:3.14保留5位结果:3.1400
例如:1.将f1保留2位有效数字输出
2.将f1保留4位有效数字输出
1.System.out.println((double) (Math.round(f1*100)/100.0)); 2.System.out.println((double) (Math.round(sd3*100)/100.0)); 注意:若数据只有小数点后第n位为0,则保留到不为0的位;
如 3.14003
保留1位结果:3.1
保留2位结果:3.14
保留3位结果:3.14
保留4位结果:3.14
保留5位结果:3.14003 另一种办法: import java.text.DecimalFormat; DecimalFormat df2 = new DecimalFormat("###.00"); DecimalFormat df2 = new DecimalFormat("###.000"); System.out.println(df2.format(f1)); 第一个为2位,第二个为3位. 如 3.14003
保留1位结果:3.1
保留2位结果:3.14
保留3位结果:3.140
保留4位结果:3.1400
保留5位结果:3.14003 

ACM与Java -- 大整数类的常用函数一览表相关推荐

  1. java大整数类减1,自己写Java大整数《1》表示和加减

    自己写Java大整数<一>表示和加减 上周粗略计划自己写Java下的大整数运算. 后来仔细想想其实自己动手写大整数运算有1好2不好.2个不好分别是: 1,肯定没有Java内置的BigInt ...

  2. Java的异常类和常用类、容器

    Java的异常类和常用类.容器 一.Java的异常类 1.异常的概念 2.异常的分类 3.try-catch语句 4.自定义异常类 二.Java的常用类 1.String类 2.StringBuffe ...

  3. java 大整数编程_Java编程--RSA算法中的大整数运算

    Java编程–RSA算法中的大整数运算 RSA原理浅析 RSA是利用陷门单向函数实现的,其安全基础依赖于大整数的分解问题的难解性 算法过程 为了加深对RSA算法的了解,接下来通过简单的一个例子来分析一 ...

  4. C++应用之自定义大整数类

    写在前面:C语言在应用时有很多整数溢出的情形,如果运算结果很大,就需要用到所谓的高精度算法,即用数组来储存整数,并模拟手算的方法进行四则运算,这些算法并不难实现,但是考虑到易用性问题,即如果能像使用i ...

  5. 关于大整数类加减法算法的一些思考

    这几天做C++作业,有一道题要求实现大整数类,即不受内部数据类型表示范围限制的大数四则运算,比如123456789987654321987654321+987654321234567898765432 ...

  6. Python 批量创建线程及threading.Thread类的常用函数及方法

    在<[Python]线程的创建.执行.互斥.同步.销毁>(点击打开链接)中介绍了Python中线程的使用,但是里面线程的创建,使用了很原始的方式,一行代码创建一条.其实,Python里是可 ...

  7. java大整数_java处理大整数

    /* 给两个大整数A和B,计算并输出A + B = ? */ import java.io.*; import java.util.*; import java.math.*; public clas ...

  8. java大整数的加减乘除_关于大整数的加减乘除求余运算 java

    自己用java 实现了大字符串整数的加减乘除和求余运算, 加减法的算法是模拟手工笔算的计算过程, 除法就是从最高位不停的减操作, 乘法的算法 :遍历一个数的各个位数以及他所在位置,另一个数根据这个数的 ...

  9. HDU1293+Java+大整数

    找规律题. 只要分析到4步的时候差不多规律就出来了. 其次就是大整数!!!!!!!!! View Code 1 import java.util.*; 2 import java.math.*; 3 ...

最新文章

  1. 第一课.深度学习简介
  2. django 获取外键对应数据的方式
  3. mac命令行安装htop
  4. excel中线性函数_Excel中特别有用的不常用函数之Indirect函数
  5. freemarker -自定义指令
  6. class 'memcache' not found php,PHP Fatal error: Class 'Memcache' not found in
  7. 基于JAVA+SSH+MYSQL的外卖点餐系统
  8. matlab计数器清零,51单片机计数器清零
  9. 自食其力!ASP.NET 4打造HTML5视频控件
  10. bzoj1692 [Usaco2007 Dec]队列变换
  11. linux查看命令源rpm,Linux rpm查询命令以及RPM包验证
  12. Linux安装教程(超详细版)
  13. Pickit 3 - MPLAB Target device ID does not match 解决办法之一
  14. 宝塔面板本地调试网站提示域名解析错误的问题
  15. 那些年常见的前端bug (持续更新)
  16. jpa级联添加_jpa级联(Cascade)操作
  17. ROM制作工具如何开通超级会员?超级会员体系有什么样的功能?
  18. 基于云虚拟机的代码覆盖率
  19. 克服浮躁_如果您从事技术工作,那就克服自己
  20. 想要健康, 先了解BMI与体脂肪的关係

热门文章

  1. vue 生命周期_Vue生命周期小白看了都会的
  2. zookeeper的acl权限控制_Zookeeper 权限控制 ACL介绍
  3. oracle自动撤销管理,Oracle 9i中自动撤销管理的优点分析
  4. inside uboot (三) 异常向量表
  5. mysql列调换位置_mysql互换表中两列数据方法
  6. mysql+ubunt+绿色安装_Mysql在ubuntu18上的安装及简单使用
  7. unicode字符大全可复制_说说Excel不可见字符的那些事
  8. android设置多个按钮,android代码中设置两个按钮之间位置
  9. 【转】TCP和UDP的区别
  10. 【转】Dicom基础知识