Check if a number is divisible by 8 using bitwise operators
Last Updated :
31 May, 2022
Improve
Try it on GfG Practice
Given a number n, check if it is divisible by 8 using bitwise operators.
Examples:
Input : 16 Output :YES Input :15 Output :NO
Approach: Result = (((n >> 3) << 3) == n). First we shift the 3 bit right then we shift the 3 bit left and then compare the number with the given number if the number is equal to the number then it is the divisible by 8 .
Explanation:
Example: n = 16 given so binary of the 16 is 10000 now we shift the 3 bit right, now we have 00010 so again we shift the 3 bit left, then we have 10000 now compare with the given number first 16==16 in binary so it true so the number is divisible by 8.
// C++ program to check whether
// the number is divisible by
// 8 or not using bitwise operator
#include <bits/stdc++.h>
using namespace std;
// function to check number is
// div by 8 or not using bitwise
// operator
int Div_by_8(int n)
{
return (((n >> 3) << 3) == n);
}
// Driver program
int main()
{
int n = 16;
if (Div_by_8(n))
cout << "YES" << endl;
else
cout << "NO" << endl;
return 0;
}
// Java program to check whether
// the number is divisible by
// 8 or not using bitwise operator
import java.io.*;
import java.util.*;
class GFG
{
// function to check number is
// div by 8 or not using bitwise
// operator
static boolean Div_by_8(int n)
{
return (((n >> 3) << 3) == n);
}
// Driver code
public static void main (String[] args)
{
int n = 16;
if (Div_by_8(n))
System.out.println("YES");
else
System.out.println("NO");
}
}
// This code is contributed by Gitanjali
# Python program to check whether
# the number is divisible by
# 8 or not using bitwise operator
import math
# function to check number is
# div by 8 or not using bitwise
# operator
def Div_by_8(n):
return (((n >> 3) << 3) == n)
# driver code
n = 16
if (Div_by_8(n)):
print("YES")
else:
print("NO")
# This code is contributed by Gitanjali.
// C# program to check whether
// the number is divisible by
// 8 or not using bitwise operator
using System;
class GFG {
// function to check number is
// div by 8 or not using bitwise
// operator
static bool Div_by_8(int n)
{
return (((n >> 3) << 3) == n);
}
// Driver code
public static void Main ()
{
int n = 16;
if (Div_by_8(n))
Console.WriteLine("YES");
else
Console.WriteLine("NO");
}
}
// This code is contributed by vt_m.
<?php
// PHP program to check whether
// the number is divisible by
// 8 or not using bitwise operator
// function to check number is
// div by 8 or not using bitwise
// operator
function Div_by_8($n)
{
return ((($n >> 3) << 3) == $n);
}
// Driver program
$n = 16;
if (Div_by_8($n))
echo "YES";
else
echo "NO";
//This code is contributed by mits.
?>
<script>
// javascript program to check whether
// the number is divisible by
// 8 or not using bitwise operator
// function to check number is
// div by 8 or not using bitwise
// operator
function Div_by_8(n)
{
return (((n >> 3) << 3) == n);
}
// Driver code
var n = 16;
if (Div_by_8(n))
document.write("YES");
else
document.write("NO");
// This code is contributed by Princi Singh.
</script>
YES
Time Complexity : O(1)
Space Complexity : O(1)