https://levelup.gitconnected.com/6-mind-blowing-uses-of-bitwise-operations-that-you-probably-never-knew-existed-9e0359cfeaaf