java.math.BigInteger flipBit(int n)
Description
Let’s take a for example a BigInteger 12 which is equivalent to binary 1100. So if we have a value n=2, then the Binary equivalent would become 1000. Remember that the counting starts 0 index. Binary 1000 is equal to 8 in BigInteger so that would be the returned value.
Notes:
- this method throws an Arithmetic exception if n supplied is negative.
Method Syntax
public BigInteger flipBit(int n)
Method Argument
| Data Type | Parameter | Description |
|---|---|---|
| int | n | index of bit to flip. |
Method Returns
The flipBit() method this ^ (1<<n).
Compatibility
Requires Java 1.1 and up
Java BigInteger flipBit() Example
Below is a java code demonstrates the use of flipBit() method of BigInteger class. The example presented might be simple however it shows the behavior of the flipBit() method.
package com.javatutorialhq.java.examples;
import java.math.BigInteger;
import java.util.Scanner;
/*
* A java example source code to demonstrate
* the use of flipBit(int n) method of BigInteger class
*/
public class BigIntegerFlipBitExample {
public static void main(String[] args) {
// initialize a BigInteger object
BigInteger val1 = new BigInteger("19");
/*
* Note: 19 in binary is 10011
*/
// get user input
System.out.print("Enter the bit number you want to flip:");
Scanner s = new Scanner(System.in);
String input = s.nextLine();
s.close();
/*
* convert the input to Integer
* unboxing feature will be used
* to transform Integer to primitive int
*/
Integer inputBitNumber = Integer.parseInt(input);
// get the new BigInteger
BigInteger result = val1.flipBit(inputBitNumber);
System.out.println("Result of the operation:"+result);
}
}
This example is a lot simpler than it looks. The first part is the declaration of a BigInteger. User are then asked to provide the index of bit to be flipped. When we say bit flipping is that 0 becomes 1 and vice versa. Using the initially declared BigInteger and the index provided by the user, we will be using simulating the behavior of the flipBit() method.
