Page 258 - ARM 64 Bit Assembly Language
P. 258

Non-integral mathematics 247

                     point through every operation. Each fixed point binary number has three important parameters
                     that describe it:
                     1. whether the number is signed or unsigned,
                     2. the position of the radix point in relation to the right side of the sign bit (for signed num-
                         bers) or the position of the radix point in relation to the most significant bit (for unsigned
                         numbers), and
                     3. the number of fractional bits stored.
                     Unsigned fixed point numbers will be specified as U(i,f ),where i is the position of the radix
                     point in relation to the left side of the most significant bit, and f is the number of bits stored
                     in the fractional part.
                     For example, U(10,6) indicates that there are six bits of precision in the fractional part of the
                     number, and the radix point is ten bits to the right of the most significant bit stored. The layout
                     for this number is shown graphically as:














                     where i is an integer bit and f is a fractional bit. Very small numbers with no integer part may
                     haveanegative i. For example, U(−8,16) specifies an unsigned number with no integer part,
                     eight leading zero bits which are not actually stored, and 16 bits of fractional precision. The
                     layout for this number is shown graphically as:














                     Likewise, signed fixed point numbers will be specified using the following notation: S(i,f ),
                     where i is the position of the radix point in relation to the right side of the sign bit, and f is
                     the number of fractional bits stored. As with integer two’s-complement notation, the sign bit
                     is always the leftmost bit stored. For example, S(9,6) indicates that there are six bits in the
   253   254   255   256   257   258   259   260   261   262   263