Files
Saddam H 11f9a22b86 content: check if a number is a power of 2 (#196)
* Check if a number is a power of 2

This representation may be easier to understand for some people.
If a number is power of two then `AND` operation between the number and its complement will result into the same number.

* Update binary.md

Co-authored-by: Yangshun Tay <tay.yang.shun@gmail.com>
2021-03-29 17:58:59 +08:00

1.2 KiB

id title
binary Binary

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.

Corner cases

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