Byte it Wisely

We all know that the computers process data in form of bits and that these bits are in the form of 1s and 0s.

The modern programming languages do an excellent job of abstracting away all the complex bit level operations, but under the hood, it is always bits and bytes. This is exactly why, after compilation, the generated bundle is called a binary.

Having a good understanding of bit-level operations can dramatically improve the quality and efficiency of our code. Although not always necessary for the usual programming chores, bit-level operations are absolutely essential when our programs need to directly interact with hardware, like that of embedded systems or microcontrollers.

In this series of articles, we are going to discuss bitwise operators and how they can be applied easily and efficiently.

But, before we look into bitwise operations, we should first understand the different numbering systems commonly used in computer programming.