Radix conversion in an unnormalized arithmetic system

Introduction. The question of radix conversion of variable-precision binary numbers arises naturally in the context of unnormalized number representation [1], but may be of interest in other situations where it is desired to have number representations carry a reflection of significance. The present paper discusses a method for binary-decimal conversion of unnormalized numbers; this method differs in certain respects from one previously developed, and described elsewhere [2], for use with the maniac III computer. The question of decimal-binary conversion, taking into account explicit "uncertainty" in the decimal representation, is also investigated from the significance viewpoint. Binary-Decimal Conversion. First, consider the task of converting a number in unnormalized floating point binary form to a decimal in such a way that a discrepancy in the lowest-order binary digit corresponds to a discrepancy in the lowestorder decimal digit in the result (the standard maniac III routine for doing this has a "guard bit" provision for specifying a position other than the lowest-order one, but this feature can be incorporated by a preliminary transformation and so is neglected in the development here). The question of whether the decimal exponent of the result is represented explicitly or by the insertion of a decimal point character is irrelevant to the present discussion ; it will be assumed that the desired output is a string of decimal characters, representing an integer, and a second integer specifying an associated power of 10. Since 2~l = 10~ , equivalent precision in binary and decimal is given by numbers of digits in roughly the ratio 10 to 3; one could, of course, simply keep a count of decimal characters generated in a standard conversion procedure and stop at some approximately appropriate point. It seems not unreasonable, however, to ask for a conversion procedure which affords the user a more precise statement of the relation between the binary form and the decimal result. The observation that the exact conversion of integers gives also a true estimate of precision (i.e., the 10-for-3 criterion is naturally achieved), suggests that binary-decimal conversion can be accomplished by first transforming the floating point number to an integer expressed with the same significance, which differs from the original number only by a power of 10, and then taking the converted representation of this integer as the desired decimal string. Both the earlier method [2] and the one here described are based on this notion; the main difference centers around the preliminary transformation. It is believed that certain formal advantages accrue from the present approach, particularly with respect to the straightforward representation of the conversion error. Description of the Conversion. It is assumed that a sign-and-magnitude decimal representation is desired, so that negative numbers are made positive before con-