jueves, 21 de marzo de 2013
Suma Resta Multiplicación División y Residuo con BigDecimal
Elementos con mas de 50 dígitos cada uno.
* ImprimirEnteroEnorme
* SumarEnteroEnorme
* RestarEnteroEnorme
Para comparar enteros enormes se deberán incluir :
* EsIgual
* EsDiferente
* EsMayor
* EsMenor
* EsMayorOIgual
* EsMenorOIgual
Si se desea aumentar la dificultad se pueden realizar los métodos:
* MultiplicarEnteroEnorme
* DividirEnteroEnorme
* ModuloEnteroEnorme – el residuo de enteros enormes
/////////////////////////////////////////////////////////////
BigDecimal b1 = new BigDecimal("1400000000000000000000000000000000000000000000000000000000");
BigDecimal b2 = new BigDecimal("400000000000000000000000000000000000000000000000000000000");
BigDecimal r = new BigDecimal("0.0");
r = b1.add(b2);
System.out.println("Dato b1 "+b1);
System.out.println("Dato b2 "+b2);
System.out.println("");
System.out.println("Suma "+r);
System.out.println("");
r = b1.subtract(b2);
System.out.println("Resta "+r);
System.out.println("");
r = b1.multiply(b2);
System.out.println("Multi "+r);
System.out.println("");
r = b1.divide(b2);
System.out.println("Divi "+r);
System.out.println("");
double mod;
mod = b1.doubleValue() % b2.doubleValue();
System.out.println("Mod "+mod);
System.out.println("");
r = BigDecimal.valueOf(mod);
System.out.println("Mod "+r);
System.out.println("");
r = new BigDecimal(mod);
System.out.println("Mod "+r);
System.out.println("");
r = b1.max(b2);
System.out.println("Maximo "+r);
System.out.println("");
r = b1.min(b2);
System.out.println("Minimo "+r);
System.out.println("");
if(b1.equals(b2))
System.out.println(b1+"\nson Iguales \n"+b2);
System.out.println("");
if(!b1.equals(b2))
System.out.println(b1+"\nson Diferentes \n"+b2);
System.out.println("");
if(b1.doubleValue() > b2.doubleValue())
System.out.println(b1 + " \nMayor que \n"+ b2);
System.out.println("");
if(b1.doubleValue() < b2.doubleValue())
System.out.println(b1 + " \nMenor que \n"+ b2);
System.out.println("");
if(b1.doubleValue() <= b2.doubleValue())
System.out.println(b1 + " \nMenor o igual que \n"+ b2);
System.out.println("");
if(b1.doubleValue() >= b2.doubleValue())
System.out.println(b1 + " \nMayor o igual que \n"+ b2);
System.out.println("");
/////////////////////////////////////////////////////////////
Saludos !!
Suscribirse a:
Enviar comentarios (Atom)
excelente compa tenia duda con el modulo y me lo solucionaste +10
ResponderEliminarmuy buen blog me ayudo mucho
ResponderEliminargracias, estuve batallando con el double y el bigdecimal soluciona lo de la precision
ResponderEliminarGracias, de gran ayuda
ResponderEliminar