java.math.BigInteger.byteValueExact() se introdujo en Java 8. Es una función incorporada que convierte el valor de BigInteger en un byte y busca información perdida. Si el valor de BigInteger es mayor que 127 o menor que -128, el método lanzará ArithmeticException ya que BigInteger no cabe en el rango de bytes.
Sintaxis:
public byte byteValueExact()
Valor devuelto: este método devuelve el valor en bytes de este BigInteger.
Excepción: el método lanza ArithmeticException si el valor de BigInteger es mayor que 127 o menor que -128, ya que este rango no cabe en el rango de bytes.
Ejemplo:
Input: 122 Output: 122 Explanation: 122 is given as input which is bigInteger and byte value of 122 is 122 Input: -46 Output: -46 Explanation: -46 is given as input which is bigInteger and byte value of -46 is -46 Input: 200 Output: ArithmeticException Explanation: When 200 is tried to convert to Byte, since 200 > 127 (greater than a Byte's range), therefore it throws an arithmetic exception.
Los siguientes programas ilustran el método byteValueExact() de la clase BigInteger:
Programa 1: Para demostrar el método byteValueExact() para un número positivo <127
// Java program to demonstrate byteValueExact() // method of BigInteger Class import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigInteger object BigInteger big; big = new BigInteger("122"); // print value of BigInteger System.out.println("BigInteger value : " + big); // convert big to the byte value byte b1 = big.byteValueExact(); // print byte value System.out.println("Byte converted value : " + b1); } }
BigInteger value : 122 Byte converted value : 122
Programa 2: Para demostrar el método byteValueExact() para un número negativo >-128
// Java program to demonstrate byteValueExact() // method of BigInteger Class import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigInteger object BigInteger big = new BigInteger("-46"); // print value of BigInteger System.out.println("BigInteger value : " + big); // convert big to the byte value byte b1 = big.byteValueExact(); // print byte value System.out.println("Byte converted value : " + b1); } }
BigInteger value : -46 Byte converted value : -46
Programa 3: Para demostrar el método byteValueExact() para el número negativo <-128. Lanzará una excepción aritmética
// Java program to demonstrate byteValueExact() // method of BigInteger Class import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigInteger object BigInteger big = new BigInteger("-200"); // print value of BigInteger System.out.println("BigInteger value : " + big); try { // convert big to the byte value byte b1 = big.byteValueExact(); // print byte value System.out.println("Byte converted value : " + b1); } catch (Exception e) { System.out.println("Exception: " + e); } } }
BigInteger value : -200 Exception: java.lang.ArithmeticException: BigInteger out of byte range
Programa 4: Para demostrar el método byteValueExact() para un número positivo >127. Lanzará una excepción aritmética
// Java program to demonstrate byteValueExact() // method of BigInteger Class import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigInteger object BigInteger big = new BigInteger("200"); // print value of BigInteger System.out.println("BigInteger value : " + big); try { // convert big to the byte value byte b1 = big.byteValueExact(); // print byte value System.out.println("Byte converted value : " + b1); } catch (Exception e) { System.out.println("Exception: " + e); } } }
BigInteger value : 200 Exception: java.lang.ArithmeticException: BigInteger out of byte range
Referencia: https://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html#byteValueExact–
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA