Monday, November 17, 2025
HomeLanguagesJavaJava 8 | BigInteger byteValueExact() method with Examples

Java 8 | BigInteger byteValueExact() method with Examples

java.math.BigInteger.byteValueExact() was introduced in Java 8. It is an inbuilt function which converts the value of BigInteger to a byte and checks for any lost information. If the value of BigInteger is greater than 127 or less than -128, the method will throw ArithmeticException as BigInteger doesn’t fit in byte range.

Syntax:

public byte byteValueExact()

Return Value: This method returns the byte value of this BigInteger.

Exception: The method throws ArithmeticException if the value of BigInteger is greater than 127 or less than -128, as this range doesn’t fit in byte range.

Example:

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.

Below programs illustrates byteValueExact() method of BigInteger class:

Program 1: To demonstrate byteValueExact() method for positive number <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);
    }
}


Output:

BigInteger value : 122
Byte converted value : 122

Program 2: To demonstrate byteValueExact() method for negative number >-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);
    }
}


Output:

BigInteger value : -46
Byte converted value : -46

Program 3: To demonstrate byteValueExact() method for negative number <-128. It will throw Arithmetic Exception




// 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);
        }
    }
}


Output:

BigInteger value : -200
Exception: java.lang.ArithmeticException: BigInteger out of byte range

Program 4: To demonstrate byteValueExact() method for positive number >127. It will throw Arithmetic Exception




// 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);
        }
    }
}


Output:

BigInteger value : 200
Exception: java.lang.ArithmeticException: BigInteger out of byte range

Reference: https://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html#byteValueExact–

RELATED ARTICLES

Most Popular

Dominic
32402 POSTS0 COMMENTS
Milvus
95 POSTS0 COMMENTS
Nango Kala
6769 POSTS0 COMMENTS
Nicole Veronica
11920 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11990 POSTS0 COMMENTS
Shaida Kate Naidoo
6897 POSTS0 COMMENTS
Ted Musemwa
7150 POSTS0 COMMENTS
Thapelo Manthata
6851 POSTS0 COMMENTS
Umr Jansen
6843 POSTS0 COMMENTS