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: