Skip to main content

Binary

Study links#

Notes#

Questions involving binary representations and bitwise operations are asked sometimes and you must be absolutely familiar with how to convert a number from decimal form into binary form (and vice versa) in your chosen programming language.

Some helpful utility snippets:

  • Test kth bit is set: num & (1 << k) != 0.
  • Set kth bit: num |= (1 << k).
  • Turn off kth bit: num &= ~(1 << k).
  • Toggle the kth bit: num ^= (1 << k).
  • To check if a number is a power of 2, (num & num - 1) == 0 or (num & (-num)) == num.
  • Swapping two variables: num1 ^= num2; num2 ^= num1; num1 ^= num2

Corner cases#

  • Be aware and check for overflow/underflow
  • Negative numbers

Recommended LeetCode questions#