Check if a number is multiple of 9 using bitwise operators in C++

Hello everyone, In this tutorial, we will discuss how to check if a number is multiple of 9 using the bitwise operators in C++. There are many other ways to check for the same as well such as, The most general way to check for any number “x” divisibility by 9 is to do x%9.

Whereas, In this case, we discuss how to do it using the bitwise operators.

Check if a number is multiple of 9 using bitwise operators

For checking any number we are using a function:

bool check(int x)

which is being called recursively, in which it checks for 3 factors which are:

  • if (x == 0 || x == 9)
  • if (x < 9)
  • check((int)(x>>3) – (int)(x&7))

where x is the number that you wish to check.

 

//code by Vivek Kr. Jaiswal
#include<iostream>
using namespace std;
 

bool check(int x)
{
    
    if (x == 0 || x == 9)
        return true;
    else if (x < 9)
        return false;
 
    
    else
  return check((int)(x>>3) - (int)(x&7));
}
 
int main()
{
  int x;
  cout << "Enter any number to check whether is a multiple of 9:" << endl;
  cin >> x;
    if( check(x) )
          cout << "Provided Number is multiple of 9 \n" << endl;
    else
          cout << "Provided Number is not multiple of 9 \n" << endl;
 
    return 0;
}
Output:

Enter any number to check whether is a multiple of 9:
81
Provided Number is multiple of 9


I hope I have made my point clear and simple, do comment in the comment box if you wish to know more about any topic.

You may also visit:

Thank You.

Leave a Reply

Your email address will not be published. Required fields are marked *