Introduction to fixed-point numbers
We’ve worked extensively with binary and BCD numbers throughout this book. Binary is great for math because addition, subtraction, and multiplication are cheap and easy. Division isn’t too bad, but it’s time-consuming. We have only really used BCD numbers for displaying output, but sometimes we’ll want to represent a number with a fractional component, such as in regard to the temperature sensor output.
In the previous chapter, we needed to introduce fixed-point numbers. Recall the temperature sensor format:
[15:7] Integer
[6:3] fraction * 0.0625
[2:0] Don't Care
If we look at mathematical operations, we know that adding two numbers increases the result size by 1
bit. We can see in Figure 7.1 how we need to align the fraction point. The fractional portion doesn’t increase in size, but the carry out will go into the integer portion, thus the fractional point of the result doesn’t move. The...