首页 > 编程语言 >Java大数字运算(BigInteger类和BigDecimal类)

Java大数字运算(BigInteger类和BigDecimal类)

时间:2023-01-11 10:55:24浏览次数:34  
标签:BigInteger Java BigDecimal val System bi new 数字

要使用 BigInteger 类,首先要创建一个 BigInteger 对象。BigInteger 类提供了很多种构造方法,其中最直接的一种是参数以字符串形式代表要处理的数字。这个方法语法格式如下:

  BigInteger(String val)

这里的 val 是数字十进制的字符串。例如,要将数字 5 转换为 BigInteger 对象,语句如下:

  BigInteger bi = new BigInteger("5")

 

 BigInteger类的常用运算方法
方法名称说明
add(BigInteger val) 做加法运算
subtract(BigInteger val) 做减法运算
multiply(BigInteger val) 做乘法运算
divide(BigInteger val) 做除法运算
remainder(BigInteger val) 做取余数运算
divideAndRemainder(BigInteger val) 做除法运算,返回数组的第一个值为商,第二个值为余数
pow(int exponent) 做参数的 exponent 次方运算
negate() 取相反数
shiftLeft(int n) 将数字左移 n 位,如果 n 为负数,则做右移操作
shiftRight(int n) 将数字右移 n 位,如果 n 为负数,则做左移操作
and(BigInteger val) 做与运算
or(BigInteger val) 做或运算
compareTo(BigInteger val) 做数字的比较运算
equals(Object obj) 当参数 obj 是 Biglnteger 类型的数字并且数值相等时返回 true, 其他返回 false
min(BigInteger val) 返回较小的数值
max(BigInteger val) 返回较大的数值

 

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 + "");

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

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

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

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

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

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

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

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

 

标签:BigInteger,Java,BigDecimal,val,System,bi,new,数字
From: https://www.cnblogs.com/chenzxl/p/17043126.html

相关文章

  • Java基础语法1
    Java基础语法1注释、标识符、关键字注释Comments注释并不会被执行,是给我们写代码的人看的。书写注释是个非常好的习惯,平时就要注意规范单行注释//多行注释/*......
  • Java代码kafka通过Kerberos认证消费数据
    引入依赖<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId></dependency>kafka生产importjava.io.PrintStrea......
  • JavaWeb综合案例
    JavaWeb综合案例笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html)视频教程(P154~P163)功能列表环境搭建执行提供的下面的tb_brand.sql脚本--......
  • 关于Net和Java的一些看法
    两个都是美好的语言,都有良好的生态支持。微软一直想让开发变得简单,导致封装的过度,C#程序员被爱护过头了,导致中级C#程序员只能对应初级Java程序员的,希望随着NET的持续更新,......
  • 【javascript】关于charCodeAt()方法
    在做算法题目leetcode2283时,看见某些答案会使用charCodeAt(),因为自己没用过,所以作此纪录描述在JavaScript中,charCodeAt()是一种字符串方法,用于检索字符串中特定位置的......
  • ERROR: JAVA_HOME is not set and could not be found.
    问题描述:今天在启动Hadoop时发现显示报错:JAVA_HOMEisnotsetandcouldnotbefound。但我昨天明明还是启动成功的,那这不就是见鬼了???  问题解决:......
  • java 重写equals方法 最佳实践 Java@Override equals():当this.getClass()!=o.getClass()
    java重写equals方法最佳实践Java@Overrideequals():当this.getClass()!=o.getClass()失败https://www.5axxw.com/questions/content/dn5jai我在MyClass中有一个@Overrid......
  • 【Java源码解析】如何严谨地重写 equals 方法、getClass 方法与 instanceof 关键词用
    【Java源码解析】如何严谨地重写equals方法、getClass方法与instanceof关键词用法比较https://blog.csdn.net/m0_46360532/article/details/123118780文章目......
  • Java学习路线总结
    认清现实,放弃幻想。(特此感谢动力节点老杜分享出来的学习路线)学习阶段阶段地址第一阶段:JavaSE基础入https://www.cnblogs.com/NorthPoet/p/1702......
  • JavaScript所有内部属性列表 [[Configurable]] 等
    简介据MDN文档所说内部属性是由[[···]]包裹的内容,于是我们去复制ECMA-262标准的所有文字部分,然后用正则统计[[···]]的出现并打印效果代码经老大提醒,这里......