首页 > 编程知识 正文

大数运算乘法c语言(大数运算类)

时间:2023-05-05 07:29:42 阅读:123237 作者:1476

Java提供了大数字操作类在java.math包的BigInteger和BigDecimal。

BigInteger中较大整数的处理类。

BigDecimal对大小数的处理类。

除了名为String和basicdatapackage类的特殊类外,其他类的创建对象不能使用简化的初始化方法。 而是以标准初始化方法new构造函数()的形式初始化。

双精度; 双精度; 这两种结构方法有区别,请参考以下代码。

publicstaticbigdecimalbd1=new bigdecimal (1.1; publicstaticbigdecimalbd2=new bigdecimal (' 1.1 ); system.out.println(BD1; system.out.println(BD2; 1.10000000000000088178419700125232389053472656251.1这是因为double类型存储近似值,并且有许多虚数。 因此,双精度类型不能用于精确运算。 因此,通常最常用的是传递字符串的构建方法。

因为加减乘除BigDecimal是用来增大小数运算的,所以在BigDecimal类中实现了加减乘除的方法

Gublicbigdecimaladd (bigdecimal augend; //publicbigdecimalsubtract (bigdecimal subtrahend ); //publicbigdecimalmultiply (bigdecimalmultiplicand ); //publicbigdecimaldivide (bigdecimal divisor,int scale,int roundingMode ); //加减乘除很简单,不用说。 说明除法的话,除法其实有其他的构造方法,但是这个构造方法比较推荐。 其中第一个参数divisor是除数,第二个参数scale是精度,第三个参数roundingMode是处理模式,通常使用BigDecimal.ROUND_HALF_UP,表示四舍五入。

bigdecimal BD1=new bigdecimal (' 2.2 ); bigdecimal BD2=new bigdecimal (' 1.1 ); system.out.println (string.format (bd1bd 23360 % s (,BD1.add ) BD2 ).toString ) ); system.out.println (string.format (bd1-BD 2: % s (,BD1.subtract ) BD2 ).toString () ) ); system.out.println (string.format (bd1 * BD 2: % s ),bd1.multiply (bd2 ).toString ) ); system.out.println (string.format (bd1/BD 2: % s ),BD1.divide ) bd2,5,bigdecimal.round _ half _ u BD 1

bigdecimal BD1=new bigdecimal (' 2.2 ); int i=bd1.intValue (; system.out.println(I; //输出2 2、将BigDecimal转换为字符串类型

使用toString

bigdecimal BD1=new bigdecimal (' 2.2 ); String s=bd1.toString (; 系统. out.println (s; //输出2.2

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。