本周练习题目(高精度,大数值)

简介: 本周练习题目(高精度,大数值)

BigIntger

是什么:

对于超出了所有基本数据类型范围的数字,字符串,在这种情况下,也就是要求我们对于数据实现高精度,从而保证数据能够正常的进行一个相应的输出

这时候就需要使用到  BigIntger来扩大对于整数数据的精准度,无论多大,都能够保证在范围当中

                 (BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。)

怎么用:

   静态方法:

       BigIntger x=new  BigInter("10000000000");

           System.out.println(x);

               //最后直接输出的是x的大数值:   10000000000

               tips:在静态的方法当中,必须要对于需要的数据添加一个双引号,因为其数值过大,可以先简单的将其理解为字符串之间的运算

         

     

// 加法
BigInteger sum = a.add(b);
System.out.println(sum); // 输出:11111111100
 
// 减法
BigInteger difference = a.subtract(b);
System.out.println(difference); // 输出:-8641975320
 
// 乘法
BigInteger product = a.multiply(b);
System.out.println(product); // 输出:12193263111263526900
 
// 除法
BigInteger quotient = a.divide(b);
System.out.println(quotient); // 输出:0
 
// 求余
BigInteger remainder = a.remainder(b);
System.out.println(remainder); // 输出:1234567890
 
// 比较大小
int compareResult = a.compareTo(b);
System.out.println(compareResult); // 输出:-1(a < b)

题型练习

//练习:使用高精度计算各个阶乘之和

Scanner in=new Scanner(System.in);
        //使用大数据的方法,实现阶乘的运算
        int cent=in.nextInt();
        //开始进行数值的相加,从而实现题目的要求
        int temp=1;
 
        //设定最开始的SUM和是一个0
        BigInteger add=new BigInteger("0");
        BigInteger a=new BigInteger("1");
        for (int i1 = 0; i1 < cent; i1++) {
 
            for (int i = 1; i <= temp; i++) {
                //通过使用强制转化,将其中的基本数据类型转化成为一个大数据类型
                BigInteger I = BigInteger.valueOf(i);
                a = a.multiply(I);
            }
            //添加
            add=add.add(a);
            temp++;
        //在这里添加一个需要再进行转换一个大数值类型
            int y=1;
            //这两步是为了将其中的a数值进行还原,重新变成原本的"1"
            BigInteger bigInteger = BigInteger.valueOf(y);
            a=a.subtract(a).add(bigInteger);
        }
        System.out.println(add);
    }
目录
打赏
0
2
2
0
30
分享
相关文章
【软件设计师备考 专题 】数据的多面性:从数值到非数值的表示
【软件设计师备考 专题 】数据的多面性:从数值到非数值的表示
101 1
数字太大放不下,高精度来补,如何放下超大数字,以及进制转换,高精度真的超好玩。 洛谷1009,1015
数字太大放不下,高精度来补,如何放下超大数字,以及进制转换,高精度真的超好玩。 洛谷1009,1015
NOAA 巴罗阿拉斯加观测站的受体在 1982 年至 2011 年这 30 年间 12 个选定年份(8 月 15 日至 10 月 15 日)的随机时间倒拉格朗日传输模型输出结果
该数据集提供了1982年至2011年间位于阿拉斯加巴罗(现称乌特基亚维克)NOAA观测站的拉格朗日传输模型输出结果。使用WRF-STILT模型,基于气象场模拟气溶胶粒子轨迹,涵盖12个选定年份的8月15日至10月15日,分辨率分别为0.5度和0.1度。这些数据有助于研究大气环境、气候变化及碳循环,对理解北极生态系统变化至关重要。
49 18
AcWing 3498. 日期差值(每日一题)
AcWing 3498. 日期差值(每日一题)
第一周算法设计与分析:C : 200和整数对之间的情缘
这篇文章介绍了解决算法问题"200和整数对之间的情缘"的方法,通过统计数组中每个数模200的余数,并计算每个同余类中数的组合数来找出所有满足条件的整数对(i, j),使得\( A_i - A_j \)是200的整数倍。
C语言---输入n科成绩(浮点数表示),统计其中的最高分,最低分以及平均分。
C语言---输入n科成绩(浮点数表示),统计其中的最高分,最低分以及平均分。
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
分位数自回归QAR分析痛苦指数:失业率与通货膨胀率时间序列|数据分享
分位数自回归QAR分析痛苦指数:失业率与通货膨胀率时间序列|数据分享
算法小白的心得笔记:比较小数点后五位,而不会受到浮点数精度问题的影响。
std::cerr << "\n __" << inum << "__ 计算错误 " << ratio << " 应该是 " << beta3[inum - 1] << std::endl; return 1;
54 0
基础算法练习200题03、电视剧每集时间(四舍五入)
基础算法练习200题03、电视剧每集时间(四舍五入)
97 0
基础算法练习200题03、电视剧每集时间(四舍五入)

热门文章

最新文章