El método sqrt(BigInteger x, modo RoundingMode) de la clase BigIntegerMath de Guava devuelve la raíz cuadrada de x, redondeada con el modo de redondeo especificado.
Sintaxis:
public static BigInteger sqrt(BigInteger x, RoundingMode mode)
Parámetros: Este método toma los siguientes parámetros:
- x : El número BigInteger cuya raíz cuadrada se va a encontrar.
- modo : El modo de redondeo para calcular la raíz cuadrada.
Valor devuelto: este método devuelve la raíz cuadrada de x, redondeada con el modo de redondeo especificado.
Excepciones: este método arroja las siguientes excepciones:
- IllegalArgumentException: si x < 0.
- ArithmeticException: si el modo es RoundingMode.UNNECESSARY y sqrt(x) no es un número entero.
Modo de redondeo de enumeración
Constante de enumeración | Descripción |
---|---|
TECHO | Modo de redondeo para redondear hacia el infinito positivo. |
ABAJO | Modo de redondeo para redondear hacia cero. |
PISO | Modo de redondeo para redondear hacia el infinito negativo. |
HALF_DOWN | Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia abajo. |
HALF_EVEN | Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso, redondear hacia el vecino par. |
HALF_UP | Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia arriba. |
INNECESARIO | Modo de redondeo para afirmar que la operación solicitada tiene un resultado exacto, por lo que no es necesario redondear. |
ARRIBA | Modo de redondeo para redondear desde cero. |
Los siguientes ejemplos ilustran el método BigIntegerMath.sqrt():
Ejemplo 1:
// Java code to show implementation of // sqrt(BigInteger x, RoundingMode mode) method // of Guava's BigIntegerMath class import java.math.*; import com.google.common.math.BigIntegerMath; class GFG { // Driver code public static void main(String args[]) { BigInteger x1 = BigInteger.valueOf(226); // Using sqrt(BigInteger x, RoundingMode mode) // method of Guava's BigIntegerMath class // The RoundingMode HALF_EVEN rounds towards // the nearest neighbor unless both neighbors // are equidistant, in which case, round towards // the even neighbor. BigInteger ans1 = BigIntegerMath .sqrt(x1, RoundingMode.HALF_EVEN); System.out.println("Square root of " + x1 + "with HALF_EVEN rounding mode is: " + ans1); BigInteger x2 = BigInteger.valueOf(154); // Using sqrt(BigInteger x, RoundingMode mode) // method of Guava's BigIntegerMath class // The RoundingMode FLOOR rounds towards // negative infinity. BigInteger ans2 = BigIntegerMath .sqrt(x2, RoundingMode.FLOOR); System.out.println("Square root of " + x2 + "with FLOOR rounding mode is: " + ans2); } }
Producción:
Square root of 226with HALF_EVEN rounding mode is: 15 Square root of 154with FLOOR rounding mode is: 12
Ejemplo 2:
// Java code to show implementation of // sqrt(BigInteger x, RoundingMode mode) method // of Guava's BigIntegerMath class import java.math.*; import com.google.common.math.BigIntegerMath; class GFG { // Driver code public static void main(String args[]) { try { BigInteger x1 = BigInteger.valueOf(-65); // Using sqrt(BigInteger x, RoundingMode mode) // method of Guava's BigIntegerMath class // The RoundingMode HALF_EVEN rounds towards // the nearest neighbor unless both neighbors // are equidistant, in which case, round towards // the even neighbor. BigInteger ans1 = BigIntegerMath .sqrt(x1, RoundingMode.HALF_EVEN); // This should throw "IllegalArgumentException" // as x1 < 0 } catch (Exception e) { System.out.println("Exception: " + e); } } }
Producción:
Exception: java.lang.IllegalArgumentException: x (-65) must be >= 0
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA