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.

Syntax:

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.

Examples:

Input: value = 2300 , index = 1
Output: 2302
Explanation:
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.

filter_none

edit
close

play_arrow

link
brightness_4
code

/*
*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
        System.out.println(result);
    }
}

chevron_right


Output:

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

Reference:https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#clearBit(int)



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. 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.