gpt4 book ai didi

java - 在变量中存储大量数字的正确方法

转载 作者:行者123 更新时间:2023-11-29 03:39:25 26 4
gpt4 key购买 nike

我喜欢玩弄数字,无论多么初级,我一直在为斐波那契数列编写算法和寻找素数的蛮力路径!

我不是程序员,只是个数学家。

但是,我经常遇到的一个问题是 long long、double 和 floats 经常用完空间。

如果我想继续在 JAVA 中工作,我可以通过什么方式创建自己的数据类型,以免用完空间。

从概念上讲,我想像这样把 3 个 double 放在一起,

public class run {

static double a = 0;
static double b = 0;
//static double c = 0;

static void bignumber(boolean x) {

if (x == true && a < 999999999) {
++a;

} else if (x == true && a == 999999999) {
++b;
a = 0;
}
System.out.print(b + "." + a + " \n");
}

public static void main(String[] args) {
while(true) {
bignumber(true);

}
}

}

有没有更好的办法,

我希望有一天能够说

我的数据类型 X = 1847699703211741474306835620200164403018549338663410171471785774910651696711161249859337684305435744585616061544571794052229717732524660960646946071249623720442022269756756687378427562389508764678440933285157496578843415088475528298186726451339863364931908084671990431874381283363502795470282653297802934916155811881049844908319545009848393775227257052578591944993870073695755688436933812779613089230392569695253261620823676490316036551371447913932347169566988069

或在 this site 上找到的任何其他号码

我也试过

package main;

import java.math.BigInteger;

public class run {
BigDecimal a = 184769970321174147430683562020019566988069;
public static void main(String[] args) {

}

}

但是好像还是超出了范围

最佳答案

使用 BigDecimal(而不是 double)和 BigInteger(而不是 intlong ) 用于此目的,但您只能通过他们的方法与他们合作。没有运营商,可以使用。

这样使用:

BigInteger big = new BigInteger("4019832895734985478385764387592") // Strings...
big.add(new BigInteger("452872468924972568924762458767527");

BigDecimal 相同

关于java - 在变量中存储大量数字的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13833753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com