The smallest data value in C is a bit. However, bit operations tend to be very expensive and not all that common for most computer problems. We will not go into bit operations in this book. If you find you need to delve deeper into bit operations in C, please check out the annotated bibliography in the appendix for texts that treat this subject more fully.
The basic data value in C is a byte or a sequence of 8 bits. The set of values a byte can represent is 256, or 28 values. These values have a range of 0 to 255, or 28-1. 0 is a value that must be represented in the set of 256 values; we can't leave that value out. A byte can either represent a positive integer in the range of 0-255, or 28-1, or a negative integer in the range of -128-127. In either case, there are only 256 unique combinations of 1s and 0s.
While most humans don't ordinarily count this high, for a computer, this is a very narrow range of values. A byte is the...