Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2012, 17:45
gobodeath
 
Fecha de Ingreso: marzo-2012
Mensajes: 75
Antigüedad: 12 años, 1 mes
Puntos: 3
Pregunta Como traduzco este método Con la clase BigInteger

Hola, tengo un método que multiplica arreglos, pero necesito trabajar con números inmensos, así que estuve buscando y encontre que existe una clase llamada BigInteger, el hecho es que he tratado de implementarla en el método que actualmente maneja el tipo de datos primitivo Long, así que si alguien tiene idea de como hacerlo le agradecería mucho

Método

Código Java:
Ver original
  1. public long[] multiplicarArrays(long[] arreglo1,long[] arreglo2, int tamaño){
  2.           //Creamos el arreglo que tendrá el resultado
  3.           //con el tamaño del arreglo 1 que se supone que tiene los mismos elementos que el arreglo2
  4.           long arrayRes[] = new long[(tamaño)];
  5.           long mult=1;
  6.           int cont=arrayRes.length-1;
  7.           /*
  8.            * ciclo basado en el método burbuja
  9.            * lógica:
  10.            * EJM: 521*32 = (2*1*1)+(2*2*10)+(2*5*100)+(3*1*10)
  11.            * +(3*2*100)+(3*5*1000) = 16672
  12.            */
  13.           for (int i=arreglo1.length-1;i>=0;i-- )
  14.           {
  15.               long Por10=1;
  16.                
  17.               for(int j=arreglo2.length-1;j>=0;j--)
  18.               {
  19.                  
  20.                   if(j==arreglo2.length-1){
  21.                   Por10*=mult;
  22.                   }
  23.                   arrayRes[cont]+=(arreglo2[i]* arreglo1[j] * Por10);
  24.                  
  25.                   System.out.println(String.valueOf(arreglo2[i])+"*"+String.valueOf(arreglo1[j])+"*"+String.valueOf(Por10)+"="+String.valueOf(arrayRes[cont]));
  26.                  
  27.                   Por10*=10;
  28.                  
  29.               }
  30.              
  31.               //Incrementamos variables
  32.              
  33.               mult*=10;
  34.           }
  35.           arrayRes= separarDigitos(arrayRes[cont], arrayRes.length);
  36.            
  37.           return arrayRes;
  38.       }

Ahora como sería en vez de Long que me calcule en BigInteger.