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

questionAnswers(3)

yourAnswerToTheQuestion