首页 > 其他分享 >蓝桥杯备考随手记: BigInteger 和 BigDecimal

蓝桥杯备考随手记: BigInteger 和 BigDecimal

时间:2024-04-09 12:58:25浏览次数:17  
标签:返回 BigInteger BigDecimal 浮点数 整数 蓝桥 other

在Java中,BigInteger和BigDecimal是用来处理大整数和高精度浮点数的类,分别属于java.math包。

下面分别介绍这两个类的特点、用途和常用方法:

  1. BigInteger:

    • 特点:
      • BigInteger类表示任意精度的整数,可以处理比long型和int型更大范围的整数。
      • BigInteger是不可变的(immutable)类,一旦创建就不能被修改。
      • 支持所有整数运算,如加法、减法、乘法、除法、取余等。
    • 用途:
      • 用于处理超出long型范围的整数计算,如大整数的加减乘除运算。
      • 在需要保持高精度的整数运算时使用,例如在密码学、金融领域等。
    • BigInteger类的常用方法包括:

      • add(BigInteger other):将该BigInteger与另一个BigInteger相加。返回相加后的结果。

      • subtract(BigInteger other):将该BigInteger与另一个BigInteger相减。返回相减后的结果。

      • multiply(BigInteger other):将该BigInteger与另一个BigInteger相乘。返回相乘后的结果。

      • divide(BigInteger other):将该BigInteger除以另一个BigInteger。返回相除后的结果。

      • mod(BigInteger other):计算该BigInteger除以另一个BigInteger的余数。返回余数。

      • pow(int exponent):将该BigInteger的值提升到指定的指数。返回结果。

      • compareTo(BigInteger other):比较该BigInteger与另一个BigInteger的大小。如果该BigInteger小于参数,则返回负整数;如果两者相等,则返回0;如果该BigInteger大于参数,则返回正整数。

      • equals(Object obj):比较该BigInteger与指定对象是否相等。返回布尔值。

      • toString():将此BigInteger转换为字符串表示形式。返回字符串。

      • intValue()、longValue()、floatValue()、doubleValue():将此BigInteger转换为对应的基本数据类型。

  2. BigDecimal:

    • 特点:
      • BigDecimal类表示高精度的浮点数,可以处理需要高精度计算的浮点数。
      • BigDecimal同样是不可变的(immutable)类。
      • 支持所有浮点数运算,如加法、减法、乘法、除法、取余等。
      • 可以指定精度和舍入规则来进行精确计算。
    • 用途:
      • 用于处理需要高精度计算的浮点数,如货币计算、科学计算等。
      • 避免浮点数运算中的精度丢失问题,提供更精确的计算结果。
      • 可以控制小数点后的位数,进行精确的舍入计算。
    • BigDecimal类的常用方法包括:
      • add(BigDecimal other):将该BigDecimal与另一个BigDecimal相加。返回相加后的结果。

      • subtract(BigDecimal other):将该BigDecimal与另一个BigDecimal相减。返回相减后的结果。

      • multiply(BigDecimal other):将该BigDecimal与另一个BigDecimal相乘。返回相乘后的结果。

      • divide(BigDecimal other):将该BigDecimal除以另一个BigDecimal。返回相除后的结果。

      • remainder(BigDecimal other):计算该BigDecimal除以另一个BigDecimal的余数。返回余数。

      • pow(int exponent):将该BigDecimal的值提升到指定的指数。返回结果。

      • compareTo(BigDecimal other):比较该BigDecimal与另一个BigDecimal的大小。如果该BigDecimal小于参数,则返回负整数;如果两者相等,则返回0;如果该BigDecimal大于参数,则返回正整数。

      • equals(Object obj):比较该BigDecimal与指定对象是否相等。返回布尔值。

      • toString():将此BigDecimal转换为字符串表示形式。返回字符串。

      • intValue()、longValue()、floatValue()、doubleValue():将此BigDecimal转换为对应的基本数据类型。

在实际编程中,当需要处理大整数或高精度浮点数时,使用BigInteger和BigDecimal可以确保计算结果的准确性和精度。需要注意的是,由于这两个类是不可变的,每次运算都会返回一个新的实例,因此在进行连续运算时需要将结果赋给新的BigInteger或BigDecimal对象。

标签:返回,BigInteger,BigDecimal,浮点数,整数,蓝桥,other
From: https://blog.csdn.net/DaPiCaoMin/article/details/137465885

相关文章

  • P8794 [蓝桥杯 2022 国 A] 环境治理
    P8794[蓝桥杯2022国A]环境治理-洛谷|计算机科学教育新生态(luogu.com.cn)#include<iostream>usingnamespacestd;#definelllonglongconstintN=150;constintinf=0x7fffffff;intn,q;intd[N][N],l[N][N];intt[N][N];voidfloyd(){for(intk=......
  • 蓝桥杯学习日记
    目录方法二分+区间合并搜索与图论全排列n皇后问题走迷宫树的重心图中点的层次有向图的拓扑排序数学知识数论质数:在大于1的整数中,如果只包含1和本身这两个约数,就被称为质数,或者素数质数判定-试除法null质因数:将正整数表示为一连串的质因子相乘分解质因数-试除法筛质数约数约数......
  • 蓝桥杯2014国A-排列序数(待续)
    [蓝桥杯2014国A]排列序数题目描述如果用abcd这\(4\)个字母组成一个串,有\(4!=24\)种,如果把它们排个序,每个串都对应一个序号:abcd0abdc1acbd2acdb3adbc4adcb5bacd6badc7bcad8bcda9bdac10bdca11cabd......
  • 【蓝桥·算法双周赛 第 9 场 小白入门赛】字符迁移【算法赛】题解(字符串+模运算+差分)
    思路差分数组是一种特殊的数组,它的第iii个数定义为原数组的第ii......
  • 【蓝桥·算法双周赛 第 4 场 小白入门赛】自助餐【算法赛】题解(分支+字符串)
    思路首先定义一个整型变量n和一个长整型变量ans,其中n用于存放输入的字符串个数,ans则用于累计所有字符串对应的价格。在接收到n之后,进入一个循环,在循环中,每次接收一个字符串s,并根据s的首字母判断该字符串对应的餐盘种类,并将其价格累加到ans中。具体来说,如果......
  • 蓝桥杯2018年A组-付账问题
    0.题目题目描述几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有\(n\)个人出去吃饭,他们总共消费了\(S\)元。其中第\(i\)个人带了\(a_i\)元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?为了公平起见,我们希......
  • 第十五届蓝桥杯第三期模拟赛 《台阶问题》
    问题描述小蓝要上一个楼梯,楼梯共有n级台阶(即小蓝总共要走n级)。小蓝每一步可以走a级、b级或c级台阶。请问小蓝总共有多少种方案能正好走到楼梯顶端?输入格式输入的第一行包含一个整数n。第二行包含三个整数a,b,c。输出格式输出一行包含一个整数,表示答案。答......
  • 第十四届蓝桥杯省赛研究生组python
    目录试题A:工作时长excel处理代码试题B:分糖果试题C:填充试题D:互质数的个数题解:暴力试题E:阶乘的和题解:暴力+备忘录试题F:公因数匹配题解:暴力试题G:小蓝的旅行计划题解试题A:工作时长excel处理把数据复制到excel,并选中列右键选择设置单元格格式注意:因为求和之后总小时数可能会超过2......
  • 蓝桥杯赛前突击
    蓝桥杯赛前突击1.大纲精读官方只支持Dev-cpp5.11(和平时用的差不多)。C++11的使用,在Dev-cpp工具里面选择编译选项输入-std=c++11并选择编译时加入以下命令。是支持使用unordered_map和auto的,还有__int128。一定要记得return0;去年听说是没return0;......
  • 蓝桥杯,推导部分和
    题意:给定若干个区间端点与区间和,还有若干个查询,求该查询的区间和。思路:带权并查集。总结:区间左端点-1是为了左开右闭(也可以右端点+1)。比如[1,2]=(0,2]=5,[3,4]=(2,4]=6。这样就得到了[1,4]=11(查询1可以直接得到代表元素4),处理边界情况更方便。可以思考一下,如果不......