# BigInteger flipBit() Method in Java

Last Updated : 20 Mar, 2023

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 representation of the bigInteger will be flipped. 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 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 Representation 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.

## Java

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

Output:

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