「java语言高精度计算」java精度转换

博主:adminadmin 2022-12-13 04:51:05 59

今天给各位分享java语言高精度计算的知识,其中也会对java精度转换进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么用java语言解决高精度计算问题?

java可以针对很大的数字进行算法,不知道你想算的是整数还是小数,

java.lang.Object

--java.lang.Number

-- java.math.BigInteger

这个层次关系,你可以去看一下API,学习时候,一定要看API,我开发中也是一样!

JAVA计算时实现数字计算结果高精度

这个程序满足你的要求吧

public class BigNumber {

public static int[] add(int[] a, int[] b) {

int carry = 0;

int[] c = new int[a.length];

for(int i = a.length - 1; i = 0; i--) {

c[i] = a[i] + b[i] + carry;

if(c[i] 10000)

carry = 0;

else { // 进位

c[i] = c[i] - 10000;

carry = 1;

}

}

return c;

}

public static int[] sub(int[] a, int[] b) {

int borrow = 0;

int[] c = new int[a.length];

for(int i = a.length - 1; i = 0; i--) {

c[i] = a[i] - b[i] - borrow;

if(c[i] = 0)

borrow = 0;

else { // 借位

c[i] = c[i] + 10000;

borrow = 1;

}

}

return c;

}

public static int[] mul(int[] a, int b) { // b 为乘数

int carry = 0;

int[] c = new int[a.length];

for(int i = a.length - 1; i =0; i--) {

int tmp = a[i] * b + carry;

c[i] = tmp % 10000;

carry = tmp / 10000;

}

return c;

}

public static int[] div(int[] a, int b) { // b 为除数

int remain = 0;

int[] c = new int[a.length];

for(int i = 0; i a.length; i++) {

int tmp = a[i] + remain;

c[i] = tmp / b;

remain = (tmp % b) * 10000;

}

return c;

}

public static void main(String[] args) {

int[] a = {1234, 5678, 9910, 1923, 1124};

int[] b = {1234, 5678, 9910, 1923, 1124};

int[] c = BigNumber.add(a, b);

for(int i = 0; i c.length; i++) {

System.out.print(c[i]);

}

System.out.println();

}

}

在java 中怎么理解高精度和低精度

高精度和低精度 就是针对小数位数 来说的,

高精度 存储和保留的小数位数多,经度就高。

低经度 存储和保留的小数位数相比高精度少 ,经度低。

关于java语言高精度计算和java精度转换的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-13,除非注明,否则均为首码项目网原创文章,转载请注明出处。