ACM与Java -- 大整数类的常用函数一览表

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux虚拟机上安装域名,虚拟机如何安装linux系统

虚拟机如何安装linux系统&#xff1f;安装linux系统首先要在电脑上安装好虚拟机&#xff0c;然后逐步进行linux系统安装。大致介绍下安装的流程。1.首先打开虚拟机软件,点击文件/新建虚拟机&#xff0c;用户可以按照默认选择&#xff0c;然后点击下一步。2.在浏览里&#xff0c…

想打ACM?想刷题?来这些online judge!

原文地址&#xff1a;https://blog.csdn.net/tigerisland45/article/details/52134189

基于arm下的Linux控制,基于ARMuCLinux的网络控制系统设计与实现

引言 随着网络和通信技术的发展&#xff0c;嵌入式系统现已进入高速发展阶段。并在社会各个领域得到了广泛的应用。本文介绍了一种采用ARMuCLinux作为开发平台。实现基于TCP&#xff0f;IP的远程系统监控&#xff0e;从而取代传统单片机来实现数据采集、预处理和通信功能&am…

【qduoj - 1121】小明的贪心题(Dijkstra最短路 + 最短路条数)

题干&#xff1a; 小明的贪心题 描述 小明来到青岛上学已经一年了&#xff0c;他给青岛这座城市画了一张地图。在这个地图上有n个点&#xff0c;小明的起始点为1号点&#xff0c;终点为n号点&#xff0c;并且地图上的所有边都是单向的。小明知道从i号点到j号点的时间花费为w分…

nodejs 监控linux,linuxServerMonitoring

linux服务器监控平台技术&#xff1a;nodejs vue java mongodb springboot linux shelllinux服务器监控项目&#xff0c;前后端分离vuespringbootmongodb&#xff1a;1、启动前台&#xff1a;使用命令&#xff1a;A 先安装nodejs并配置好环境变量B 先控制台cmd命令切换到项目目…

【qduoj - 纳新题】小明的dp(快速幂 + 乘法原理)(简单组合数学)

题干&#xff1a; 描述 小明有n种珠宝&#xff0c;每种无限个&#xff0c;他想从这些珠宝中取出m个&#xff0c;编成手链&#xff08;长链哦&#xff09;&#xff0c;并按顺序排列起来&#xff0c;为了好看&#xff0c;相邻的珠宝不能相同。小明想知道有多少种排列的方法。 输…

linux查看显卡核心数,linux查看硬件信息,linux查看硬盘信息,linux查看CPU信息,linux查看显卡,硬件型号信息 | 帮助信息-动天数据...

linux查看硬件信息,linux查看硬盘信息,linux查看CPU信息,linux查看显卡,硬件型号信息作者&#xff1a;dthost |时间&#xff1a;2015-09-30 |8,325 次阅读linux服务器大家都知道&#xff0c;他和WIN系统不一样&#xff0c;他不能和WIN电脑一样&#xff0c;用桌面的电脑属性查看…

【qduoj - 纳新题】凑数题(恰好装满类0-1背包 或 母函数)

题干&#xff1a; 描述 小Q手里有n枚硬币&#xff0c;每枚硬币有一定的金额x,他想知道&#xff0c;用这些硬币能组成多少种不同的金额。但是他太笨了&#xff0c;自己数懵了&#xff0c;你来帮帮他好不好&#xff1f; 注意&#xff1a;组成金额时&#xff0c;每枚硬币只能用一…

c语言中short作用,C语言short

C语言short教程C语言short定义详解语法short int varname value;short varname1 value2; //简写形式参数参数描述short int定义 short 类型变量使用的类型。varname变量名。value可选&#xff0c;变量的初始值&#xff0c;该值不可以超过 short 类型的最大值。说明使用 short…

dls的BM算法模板(线性递推问题,解决矩阵快速幂解决不了的问题)

模板&#xff1a;往里面扔数就可以了&#xff08;据说>8个&#xff1f;&#xff09;%%%dls https://www.cnblogs.com/zzqsblog/p/6877339.html #include<bits/stdc.h> using namespace std; #define rep(i,a,n) for (int ia;i<n;i) #define per(i,a,n) for (int …

c语言课题设计字符串处理函数报告,C语言输入输出库函数设计实验报告.doc

C语言输入输出库函数设计实验报告第 PAGE \* MERGEFORMAT I页 共 SECTIONPAGES \* MERGEFORMAT 1页华中科技大学计算机科学与技术学院C语言课程设计报告题目: C输入输出库函数的程序设计专 业&#xff1a; 计算机科学与技术班 级&#xff1a; CS1202学 号&#xff1a; U2012148…

【HDU - 1847】Good Luck in CET-4 Everybody! (巴什博奕,PN图或sg函数)

题干&#xff1a; 大学英语四级考试就要来临了&#xff0c;你是不是在紧张的复习&#xff1f;也许紧张得连短学期的ACM都没工夫练习了&#xff0c;反正我知道的Kiki和Cici都是如此。当然&#xff0c;作为在考场浸润了十几载的当代大学生&#xff0c;Kiki和Cici更懂得考前的放松…

词法分析器c语言带注释,C语言词法分析器内容说明注释完整可运行代码.doc-资源下载在线文库www.lddoc.cn...

C语言词法分析器_内容说明注释完整_可运行代码.doc1. 实验目的及要求 本次实验通过用 C 语言 设计、编制、调试一个词法分析子程序&#xff0c;识别单词&#xff0c;实现一个 C 语言词法分析器&#xff0c;经过此过程可以加深对编译器解析单词流的过程的了解。 运行环境运行环境…

【HDU - 2516 】取石子游戏 (Fibonacci博弈)

题干&#xff1a; 1堆石子有n个,两人轮流取.先取者第1次可以取任意多个&#xff0c;但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win". Input 输入有多组.每组第1行是2<n<…

打印心形c语言,C语言打印心形

#include int main() {for (float y 1.5f; y > -1.5f; y - 0.1f) {for (float x -1.5f; x < 1.5f; x 0.05f) {float a x * x y * y - 1;putchar(a * a * a - x * x * y * y * y < 0.0f ? ‘*‘ : ‘ ‘);}putchar(‘\n‘);}}**********************************…

【HDU - 1564 】Play a game (博弈问题,找规律,奇偶博弈)

题干&#xff1a; New Year is Coming! ailyanlu is very happy today! and he is playing a chessboard game with 8600. The size of the chessboard is n*n. A stone is placed in a corner square. They play alternatively with 8600 having the first move. Each time…

c语言学生对老师的评教系统,学生对老师的评价

学生对老师的评价1、老师授课的方式十分适合我们&#xff0c;他根据本课程知识结构的特点&#xff0c;重点突出&#xff0c;层次分明。理论和实际相结合&#xff0c;透过例题使知识更条理化。但授课速度有点快&#xff0c;来不及记录。2、老师在生活工作中给人的感觉是生活朴素…

*【HDU - 1517】【POJ - 2505】A Multiplication Game(博弈,递推找规律或SG函数)

题干&#xff1a; Stan and Ollie play the game of multiplication by multiplying an integer p by one of the numbers 2 to 9. Stan always starts with p 1, does his multiplication, then Ollie multiplies the number, then Stan and so on. Before a game starts, t…

android 怎么获取app 字体颜色,android app 修改字体

android中可能会遇到修改字体的情况&#xff0c;虽然说需求比较少&#xff0c;但是偶尔还会遇到可以使用三方框架来帮助我们简单做到api "uk.co.chrisjenx:calligraphy:2.2.0"在style文件中添加一个字体的stylefonts/Roboto-Thin.ttf我app中的main/assert/fonts/Robo…

【HDU - 1254 】推箱子 (双bfs)

题干&#xff1a; 推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱子推到指定的位置,注意,搬运工只能推箱子而不能拉箱子,因此如果箱子被推到一个角上(如图2)那么箱子就不能再被移动了,如果箱子被推到一面墙…