In the previous article, we have discussed about C++ Program to Check if it is Sparse Matrix or Not. Let us learn Program to Clear the Rightmost Set Bit of a Number in C++ Program and Python.

**Binary Representation of a Number:**

Binary is a base-2 number system in which a number is represented by two states: 0 and 1. We can also refer to it as a true and false state. A binary number is constructed in the same way that a decimal number is constructed.

**Examples:**

**Examples1:**

**Input:**

given number=19

**Output:**

The given number before removing right most set bit : 19 The given number after removing right most set bit : 18

**Examples2:**

**Input:**

given number =18

**Output:**

The given number before removing right most set bit : 18 The given number after removing right most set bit : 16

**Examples3:**

**Input:**

given number=512

**Output:**

The given number before removing right most set bit : 512 The given number after removing right most set bit : 0

## Program to Clear the Rightmost Set Bit of a Number in C++ and Python

There are several ways to clear the rightmost set Bit of a Number in C++ and Python some of them are:

Drive into Python Programming Examples and explore more instances related to python concepts so that you can become proficient in generating programs in Python Programming Language.

### Method #1: Using Bitwise Operators in C++

**Approach:**

- There is a function called clear rightmost set bit that is defined.
- It accepts n as an argument and returns n with its rightmost set bit cleared.
- This is accomplished by computing n & (n â€“ 1) and returning the result.
- (n â€“ 1) equals n when all the rightmost successive 0s are flipped and the initial rightmost 1 is flipped.
- As a result, n & (n â€“ 1) equals n with the rightmost 1 cleared.

**Below is the implementation of above approach:**

#include <bits/stdc++.h> using namespace std; // function which removes the right most set bit in the // given number int clearRight(int numb) { // clearing the right most set bit from // the given number and store it in the result int reslt = (numb) & (numb - 1); // returing the calculated result return reslt; } // main function int main() { // given number int numb = 19; cout << "The given number before removing right most " "set bit : " << numb << endl; // passing the given number to clearRight function // to remove the clear the rightmost setbit cout << "The given number after removing right most " "set bit : " << clearRight(numb) << endl; return 0; }

**Output:**

The given number before removing right most set bit : 19 The given number after removing right most set bit : 18

### Method #2: Using Bitwise Operators in Python

**Approach:**

- There is a function called clear rightmost set bit that is defined.
- It accepts n as an argument and returns n with its rightmost set bit cleared.
- This is accomplished by computing n & (n â€“ 1) and returning the result.
- (n â€“ 1) equals n when all the rightmost successive 0s are flipped and the initial rightmost 1 is flipped.
- As a result, n & (n â€“ 1) equals n with the rightmost 1 cleared.
- We will implement the same function in python

**Below is the implementation:**

# function which removes the right most set bit in the # given number def clearRight(numb): # clearing the right most set bit from # the given number and store it in the result reslt = (numb) & (numb - 1) # returing the calculated result return reslt # Driver Code # given number numb = 19 print("The given number before removing right most " "set bit : ") print(numb) # passing the given number to clearRight function # to remove the clear the rightmost setbit print("The given number after removing right most set bit : ") print(clearRight(numb))

**Output:**

The given number before removing right most set bit : 19 The given number after removing right most set bit : 18

**Related Programs**: