Drukowanie bardzo dużych BigIntegerów

Próbuję rozwiązać następujący problem związany z BigIntegers w Javie 7 x64. Próbuję obliczyć liczbę do bardzo dużej mocy. Kod znajduje się poniżej, a następnie opis problemu.

import java.math.BigInteger;

public class main {

    public static void main(String[] args) {
        // Demo calculation; Desired calculation: BigInteger("4096").pow(800*600)
        BigInteger images = new BigInteger("2").pow(15544);

        System.out.println(
            "The number of possible 16 bpc color 800x600 images is: "
            + images.toString());        
    }
}

Mam problemy z wydrukowaniem wyniku tej operacji. Po wykonaniu tego kodu drukuje komunikat, ale nie wartośćimages.toString().

Aby wyizolować problem, zacząłem obliczać moce dwóch zamiast żądanego obliczenia wymienionego w komentarzu do tej linii. Na dwóch systemach, na których to testowałem,2^15544 jest najmniejszym obliczeniem, które uruchamia problem;2^15543 działa w porządku.

Nie jestem blisko miejsca, w którym można uderzyć w limit pamięci w systemach hostów i nie wierzę, że jestem nawet zbliżony do limitu VM (w każdym razie działa z argumentami VM-Xmx1024M -Xms1024M nie działa).

Po szturmowaniu internetu w poszukiwaniu odpowiedzi przyszedłem podejrzewać, że osiągam limitBigInteger lubString związane z maksymalnym rozmiarem tablicy (Integer.MAX_VALUE), których te typy używają do wewnętrznego przechowywania danych. Jeśli problem występujeString Myślę, że byłoby możliwe przedłużenieBigInteger i napisz metodę drukowania, która wypluwa kilka znaków naraz, aż do całegoBigInteger jest wydrukowany, ale raczej podejrzewam, że problem leży gdzie indziej.

Dziękujemy za poświęcenie czasu na przeczytanie mojego pytania.