118 Shares 5814 views

BigInteger Java: Trabajar con un gran número

Java es principalmente utilizado para escribir grandes aplicaciones web empresariales. Sin embargo, también es aplicable a otras áreas temáticas, donde a menudo hay una necesidad de trabajar con muy grandes números. Aunque Java tiene tipos primitivos, hay situaciones en las que no son suficientes.

Se sabe que todas las primitivas tienen una característica desagradable – el tipo de desbordamiento, en el que la salida de rango conduce a cálculos incorrectos. Para este fin hay un BigInteger clase especial. Java no sería de Java, si no era una clase separada con la funcionalidad de este caso. Veamos con más detalle.

Clase BigInteger Java: Descripción

Como usted sabe, la clase BigInteger envuelve para valores enteros grandes. Para encapsular un número en este tipo de objeto, puede utilizar una de las sobrecargas de su constructor o un método estático valueOf. Constructor como un argumento puede tener una matriz de cadenas o byte. Para convertir los tipos simples que representan números enteros en Java usan BigInteger método valueOf estática.

Desde Java hay posibilidad de sobrecarga de los operadores para realizar operaciones matemáticas en encapsulado en esta valores de clase, siempre que el método apropiado. De ellos más serán discutidos.

Java BigInteger: métodos y ejemplos de su uso

Esta clase tiene a su disposición un conjunto de métodos que permiten manipular los valores numéricos, y ejecutar en ellos la variedad de operaciones matemáticas. A continuación se muestra una lista de estos métodos.

Vamos métodos que realizan operaciones aritméticas:

– añadir (valor) – realiza una suma de los valores actuales del objeto, con el transferido como un argumento;

– restar (restador) – realiza la Subtractor resta el valor de la corriente;

– multiplicar (valor) – se multiplica;

– división (divisor) – realiza la división del valor actual en el divisor;

– pow (int arg) – eleva el valor del objeto causada por el valor de potencia en arg;

– abs () – devuelve el valor absoluto del objeto que llama;

– negate () – devuelve objeto BigInteger cuyo valor es de signo opuesto.

Veamos un ejemplo sencillo de una operación aritmética en dos valores encapsulados en el objeto:

– BigInteger val1, val2, añadiendo, dividiendo, oppositeSign;

– val1 = new BigInteger ( "5");

– val2 = BigInteger.valueOf (10);

– añadiendo = val1.add (val2);

– divisoria = val2.divide (val1);

– oppositeSign = val1.negate ();

Prestar atención a la forma de crear objetos. val1 Variable inicializa utilizando el constructor, aceptando una cadena y almacena el valor 5. val2 tiene el valor 10 como resultado de un valueOf método estático. Valor de variable añadiendo el resultado de la suma de las dos primeras variables y es igual a 15. La división variable almacena respectivamente el resultado de la resta. val1 oppositeSign es el valor con el signo opuesto, es decir. e. -5.

conclusión

Como se puede ver, la clase BigInteger Java proporciona una variedad de herramientas para las operaciones en números muy grandes. En este tipo de desbordamiento es posible, ya que la seguridad en Java es una de las prioridades más altas, por supuesto, sin comprometer la funcionalidad.