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>
This commit is contained in:
Saddam H
2021-03-29 15:58:59 +06:00
committed by GitHub
parent 7f6a3e96f8
commit 11f9a22b86

View File

@ -17,7 +17,7 @@ Some helpful utility snippets:
- Set k<sup>th</sup> bit: `num |= (1 << k)`.
- Turn off k<sup>th</sup> bit: `num &= ~(1 << k)`.
- Toggle the k<sup>th</sup> bit: `num ^= (1 << k)`.
- To check if a number is a power of 2, `num & num - 1 == 0`.
- To check if a number is a power of 2, `(num & num - 1) == 0` or `(num & (-num)) == num`.
## Corner cases