A Software Implementation of the IEEE 754R Decimal Floating-Point Arithmetic Using the Binary Encoding Format
Computer Arithmetic, IEEE Symposium on (2007)
June 25, 2007 to June 27, 2007
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ARITH.2007.7
Marius Cornea , Intel Corporation
Cristina Anderson , Intel Corporation
John Harrison , Intel Corporation
Ping Tak Peter Tang , Intel Corporation
Eric Schneider , Intel Corporation
Charles Tsen , University of Wisconsin
The IEEE Standard 754-1985 for Binary Floating-Point Arithmetic  was revised , and an important addition is the definition of decimal floating-point arithmetic. This is intended mainly to provide a robust, reliable framework for financial applications that are often subject to legal requirements concerning rounding and precision of the results, because the binary floating-point arithmetic may introduce small but unacceptable errors. Using binary floating-point calculations to emulate decimal calculations in order to correct this issue has led to the existence of numerous proprietary software packages, each with its own characteristics and capabilities. IEEE 754R decimal arithmetic should unify the ways decimal floating-point calculations are carried out on various platforms. New algorithms and properties are presented in this paper which are used in a software implementation of the IEEE 754R decimal floatingpoint arithmetic, with emphasis on using binary operations efficiently. The focus is on rounding techniques for decimal values stored in binary format, but algorithms for the more important or interesting operations of addition, multiplication, division, and conversions between binary and decimal floating-point formats are also outlined. Performance results are included for a wider range of operations, showing promise that our approach is viable for applications that require decimal floating-point calculations.
P. T. Tang, M. Cornea, C. Anderson, J. Harrison, E. Schneider and C. Tsen, "A Software Implementation of the IEEE 754R Decimal Floating-Point Arithmetic Using the Binary Encoding Format," 2007 18th IEEE Symposium on Computer Arithmetic(ARITH), Montepellier, 2007, pp. 29-37.