At a fundamental level, a programmer needs to manipulate bits. Modern processors operate over data by loading in 'registers' and not individual bits. Thus a programmer must know how to manipulate the bits within a register. Generally, we can do so while programming with 8-bit, 16-bit, 32-bit and 64-