Imprimiendo BigIntegers muy grandes

Estoy tratando de resolver el siguiente problema relacionado con BigIntegers en Java 7 x64. Estoy tratando de calcular un número a una potencia extremadamente alta. El código está debajo, seguido de una descripción del problema.

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());        
    }
}

Tengo problemas para imprimir el resultado de esta operación. Cuando este código se ejecuta, imprime el mensaje pero no el valor deimages.toString().

Para aislar el problema, comencé a calcular potencias de dos en lugar del cálculo deseado que figura en el comentario de esa línea. En los dos sistemas que he probado esto,2^15544 es el cálculo más pequeño que desencadena el problema;2^15543 funciona bien.

No estoy ni cerca de alcanzar el límite de memoria en los sistemas host y no creo que esté ni siquiera cerca del límite de VM (al menos ejecutando con los argumentos de VM).-Xmx1024M -Xms1024M no tiene efecto).

Después de buscar en Internet buscando respuestas, he llegado a sospechar que estoy llegando a un límite en cualquiera de los dos.BigInteger oString relacionado con el tamaño máximo de una matriz (Integer.MAX_VALUE) que esos tipos utilizan para el almacenamiento interno de datos. Si el problema está enString Creo que sería posible ampliarBigInteger y escriba un método de impresión que arroje unos cuantos caracteres a la vez hasta que todoBigInteger Está impreso, pero más bien sospecho que el problema está en otra parte.

Gracias por tomarse el tiempo para leer mi pregunta.

Respuestas a la pregunta(1)

Su respuesta a la pregunta