BigInteger flipBit() Method in Java

Prerequisite: BigInteger Basics
The java.math.BigInteger.flipBit(index) method returns a BigInteger which is used to flip a particular bit position in a BigInteger. This method Computes (bigInteger ^ (1<<n)). The bit at index n of binary representaion of the bigInteger will be fliped. That is, if the bit position is 0 it will be converted to 1 and vice versa.


public BigInteger flipBit(int index)

Parameter:The method accepts one parameter index of integer type and refers to the position of the of bit to be flipped.

Return Value: The method returns the bigInteger after flipping its bit at position index.

Throws: The method throws an ArithmeticException when the value of index is negative.


Input: value = 2300 , index = 1
Output: 2302
Binary Representaion of 2300 = 100011111100
bit at index 1 is 0 so flip the bit at index 1 and it becomes 1. 
Now Binary Representation becomes 100011111110
and Decimal equivalent of 100011111110 is 2302

Input: value = 5482549 , index = 5
Output: 5482517

Below program illustrate flipBit(index) method of BigInteger.





*Program Demonstrate flipBit() method of BigInteger 
import java.math.*;
public class GFG {
    public static void main(String[] args)
        // Creating  BigInteger object
        BigInteger biginteger = new BigInteger("5482549");
        // Creating an int i for index
        int i = 5;
        // Call flipBit() method on bigInteger at index i
        // store the return BigInteger
        BigInteger changedvalue = biginteger.flipBit(i);
        String result = "After applying flipBit at index " + i +
        " of " + biginteger+ " New Value is " + changedvalue;
        // Print result



After applying flipBit at index 5 of 5482549 New Value is 5482517


Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.