「java语言高精度计算」java精度转换
今天给各位分享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精度转换的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-13,除非注明,否则均为
原创文章,转载请注明出处。