Given two non-negative integers a and b. The problem is to check whether the two numbers differ at one bit position only or not.
Input : a = 13, b = 9 Output : Yes (13)10 = (1101)2 (9)10 = (1001)2 Both the numbers differ at one bit position only, i.e, differ at the 3rd bit from the right. Input : a = 15, b = 8 Output : No
Approach: Following are the steps:
- Calculate num = a ^ b.
- Check whether num is a power of 2 or not. Refer this post.
Time Complexity: O(1).
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Check whether the bit at given position is set or unset
- Position of rightmost common bit in two numbers
- Find position of left most dis-similar bit for two numbers
- Count all pairs of an array which differ in K bits
- Check if a given pair of Numbers are Betrothed numbers or not
- Check whether bitwise AND of N numbers is Even or Odd
- Check whether product of 'n' numbers is even or odd
- Check if two numbers are bit rotations of each other or not
- Check if one of the numbers is one's complement of the other
- Check whether bitwise OR of N numbers is Even or Odd
- Check the divisibility of Hexadecimal numbers
- Check whether factorial of N is divisible by sum of first N natural numbers
- Check if product of first N natural numbers is divisible by their sum
- Check if a number can be expressed as a sum of consecutive numbers
- Check if binary representations of two numbers are anagram
- Check if two numbers are equal without using comparison operators
- Check if a number can be written as a sum of 'k' prime numbers
- Check if a number can be represented as a sum of 2 triangular numbers
- Check if bits in range L to R of two numbers are complement of each other or not
- Check if two numbers are equal without using arithmetic and comparison operators
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.