Java BigInteger相关知识点

来源:互联网 发布:mysql sum group by 编辑:程序博客网 时间:2024/06/05 19:09


参考链接:

点击打开链接


头文件:import java.io.*;

import java.util.*;→import java.util.Scanner;


import java.math.*;import java.math.BigInteger;


读入: Scanner cin = Scanner (System.in);

while(cin.hasNext())//等价于!=EOF,hasNext只返回true或者false来控制

n=cin.nextInt();//读入一个int型的数

n=cin.nextBigInteger();//读入一个大整数

BigInteger bigInteger = new BigInteger("1");直接创建大整数并赋值

String str="FF";
BigInteger bi = new BigInteger(str,16);
这样是将字符串转成16进制大整数。


int b = a.intValue(); 将大整数a转为int型b

输出: System.out.print(n);//打印n

System.out.println();//换行

System.out.printf("%d\n",n);//也可以类似c++里的输出方式


BigInteger 任意大的整数,原则上是,只要你的计算机的内存足够大,可以有无限位的
BigInteger 任意大的实数,可以处理小数精度问题。


基本的函数:

将int型的数赋值给BigInteger,BigInteger.valueOf(k);将k转化为BigInteger

add:+ a.add(b);
subtract:-
multiply:*
divide:/
pow:a.pow(b)=a^b

mod:a.mod(b)=a%b;

and:等同于c++的&&,且;

or:||,或;

xor:异或,BigInteger xor(BigInteger val),this^val

not:!,非;

gcd,abs:公约数,绝对值  a.abs();

compareTo:根据该数值是小于、等于、或大于 val 返回 -1、0 或 1;
equals:判断两数是否相等,也可以用compareTo来代替
min,max:取两个数的较小、大者;


//num 要转换的数 from源数的进制 to要转换成的进制

System.out.println(change(b.toString(),10,2));

private static String change(String num,int from,int to){
return new BigInteger(num, from).toString(to);
}


1 0