Java中BigInteger类的使用方法详解(全网最新)
发布日期:2025-01-04 11:33 点击次数:174
在 Java 中,有许多数字处理的类,比如 Integer类,但是Integer类有一定的局限性。
我们都知道 Integer 是 Int 的包装类,int 的最大值为 2^31-1。若希望描述更大的整数数据时,使用Integer 数据类型就无法实现了,所以Java中提供了BigInteger 类。
BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值而不会丢失任何信息。
下面,让我们一起来学习一下BigInteger的常用方法:
正文:
读入方法
nextBigInteger():控制台读入一个BigInteger型数据,类似于int型的nextInt();
构造方法
默认为十进制,也是我们最常用的,同时也支持自定义进制类型(已存在的);
基本运算
返回值为BigInteger类型:add(),subtract(),multiply(),divide(),mod(),remainder(),pow(),abs(),negate();
比较大小
compareTo()返回一个int型数据:1 大于; 0 等于; -1 小于;max(),min():分别返回大的(小的)那个BigInteger数据;
常量
ZERO,ONE,TEN 返回值为BigInteger类型:有朋友提到的-1,2,源码注释里面已表明不再输出(Not exported.);
类型转换
将BigInteger数据转换成基本数据类型,还可以转换成radix进制的字符串形式;
二进制运算
返回值为BigInteger类型,此类方法不常用,有备无患;
权限控制
setBit(),testBit():可用于菜单的权限控制,非常好用,原理如下:
源码分析
setBit():将set进去变量作为二进制数,计算它们的和,并以十进制显示;testBit():与setBit()相反,验证this的二进制组成元素中是否包含传入的变量;
小结
BigInteger也是不可变的,在进行每一步运算时,都会产生一个新的对象。都会产生一个新的对象。发生异常算术条件时,会抛出ArithmeticException异常。例如,一个整数除以“0”,会抛出一个这个类的实例;假设计算一个int数据平方与另一个大小的问题,很可能会内存溢出。除了使用二分法外,利用BigInteger的compareTo方法也是一个好选择,简单易懂,而且不需要算法支持;本章作为笔记使用,内容比较全面,但常用的只有:构造函数,基本运算以及compareTo(),intValue(),setBit(),testBit()方法;setBit()和testBit()方法可用于菜单的权限控制,小编在开发中多次尝试,非常好用。很多微博有相关介绍,在这里我不做项目演示了。
到此这篇关于Java中BigInteger类的使用方法详解,常用最全系列!的文章就介绍到这了,更多相关java BigInteger使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!