https://mysteryweevil.medium.com/exploring-bitwise-operators-in-javascript-a-practical-guide-72b43f015491