właściwy sposób przechowywania dużych liczb w zmiennej
Chciałbym pobawić się liczbami i jakkolwiek elementarny, pisałem algorytmy dla sekwencji fibonacciego i brutalnej ścieżki siły do znajdowania liczb pierwszych!
Nie jestem programistą, tylko facetem od matematyki.
Jednak często spotykam problem z tym, że w długim, podwójnym i pływającym miejscu często brakuje miejsca.
Jeśli chciałbym kontynuować pracę w JAVA, w jaki sposób mogę utworzyć własny typ danych, aby nie zabrakło mi miejsca.
Pojęciowo, pomyślałem, że umieściłem razem 3 sobowtóry,
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);
}
}
}
czy jest na to lepszy sposób,
Chciałbym kiedyś powiedzieć
mydataType X = 18476997032117414743068356202001644030185493386634 10171471785774910651696711161249859337684305435744 58561606154457179405222971773252466096064694607124 96237204420222697567566873784275623895087646784409 33285157496578843415088475528298186726451339863364 93190808467199043187438128336350279547028265329780 29349161558118810498449083195450098483937752272570 52578591944993870073695755688436933812779613089230 39256969525326162082367649031603655137144791393234 7169566988069
lub jakikolwiek inny numer znaleziony nata strona
Próbowałem też
package main;
import java.math.BigInteger;
public class run {
BigDecimal a = 184769970321174147430683562020019566988069;
public static void main(String[] args) {
}
}
Ale nadal wydaje się, że jest poza zasięgiem