Computers store all kinds of information as a stream of binary digits called **bits**. Whether you’re working with text, images, or videos, they all boil down to ones and zeros. Python’s **bitwise operators** let you manipulate those individual bits of data at the most granular level.

Python isolates you from the underlying bits with high-level abstractions. You’re more likely to find the overloaded flavors of bitwise operators in practice. But when you work with them in their original form, you’ll be surprised by their quirks!

**In this course, you’ll learn how to:**

- Read
**binary**numbers - Perform
**bitwise math**and read truth tables - Represent
**fixed and arbitrary precision itegers**in Python - Perform
**bitwise operations**in Python - Use
**bitmasks**to pack information on a single byte - Differentiate
**Big-Endian and Little-Endian**byte orders **Overload**Python bitwise operators in custom data types