BigInteger详解(8大常见用法示例)

BigInteger详解(8大常见用法示例)-mikechen

BigInteger简介

BigInteger 类是针对整型大数字的处理类,用于高精度计算,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值。

 

为什么要用BigInteger?

在 Java中有许多数字处理的类,比如:Integer类,但是Integer类有一定的局限性,int 的最大值为 2^31-1。

如果我们要描述更大的整数数据,Integer 数据类型就无法实现了,所以Java中提供了BigInteger 类。

 

BigInteger常见方法

BigInteger除了基本的加、减、乘、除操作之外,BigInteger 类还封装了很多操作:像求绝对值、相反数、最大公约、判断是否为质数等。

BigInteger常见的方法如下所示:

BigInteger详解(8大常见用法示例)-mikechen

 

BigInteger用法示例

用户输入的数字作为 BigInteger 对象,然后调用该对象的各种方法实现,比如:加、减、乘、除、其他运算,并输出结果,具体实现代码如下:

import java.math.BigInteger;
import java.util.Scanner;

public class Test09 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个整型数字:");
        /**保存用户输入的数字**/
        int num = input.nextInt();

       /**使用输入的数字创建BigInteger对象**/
        BigInteger bi = new BigInteger(num + "");

        /**1:计算大数字加上99的结果**/
        System.out.println("加法操作结果:" + bi.add(new BigInteger("99")));

        /**2:计算大数字减去25的结果**/
        System.out.println("减法操作结果:" + bi.subtract(new BigInteger("25")));

        /**3:计算大数字乘以3的结果**/
        System.out.println("乘法橾作结果:" + bi.multiply(new BigInteger("3")));

        /**4:计算大数字除以2的结果**/
        System.out.println("除法操作结果:" + bi.divide(new BigInteger("2")));

        /**5:计算大数字除以3的商**/
        System.out.println("取商操作结果:" + bi.divideAndRemainder(new BigInteger("3"))[0]);

        /**6:计算大数字除以3的余数**/
        System.out.println("取余操作结果:" + bi.divideAndRemainder(new BigInteger("3"))[1]);

        /**7:计算大数字的2次方**/
        System.out.println("取 2 次方操作结果:" + bi.pow(2));

        /**8:计算大数字的相反数**/
        System.out.println("取相反数操作结果:" + bi.negate());
    }
}

运行结果如下:

BigInteger详解(8大常见用法示例)-mikechen

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法