Issue No.05 - May (2006 vol.55)
Peter Kornerup , IEEE
Jean-Michel Muller , IEEE
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2006.79
Redundant number representations are generally used to allow constant time additions, based on the fact that only bounded carry-ripples take place. But, carries may ripple out into positions which may not be needed to represent the final value of the result and, thus, a certain amount of leading guard digits are needed to correctly determine the result. Also, when cancellation during subtractions occurs, there may be nonzero digits in positions not needed to represent the result of the calculation. It is shown here that, for normal redundant digit sets with radix greater than two, a single guard digit is sufficient to determine the value of such an arbitrary length prefix of leading nonzero digits. This is also the case for the unsigned carry-save representation, whereas two guard digits are sufficient, and may be necessary, for additions in the binary signed-digit and 2's complement carry-save representations. Thus, only the guard digits need to be retained during sequences of additions and subtractions. At suitable points, the guard digits may then be converted into a single digit, representing the complete prefix.
Redundant representations, leading guard digits, multioperand additions, pseudo overflows.
Peter Kornerup, Jean-Michel Muller, "Leading Guard Digits in Finite Precision Redundant Representations", IEEE Transactions on Computers, vol.55, no. 5, pp. 541-548, May 2006, doi:10.1109/TC.2006.79