Skip to main content

Abstract

The correct handling of decimal numbers is essential in financial applications and in many human endeavors. The present chapter illustrates the need for decimal floating point numbers on computers and the possible hardware implementations of basic arithmetic operations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. IEEE Task P754, IEEE 754-2008, Standard for Floating-Point Arithmetic (IEEE, New York, 2008)

    Google Scholar 

  2. IEEE Task P754, ANSI/IEEE 754-1985, Standard for Binary Floating-Point Arithmetic (IEEE, New York, 1985)

    Google Scholar 

  3. M.F. Cowlishaw, The ‘telco’ benchmark. World-Wide Web document, IBM Hursley Laboratory, Hursley (2002). http://www.speleotrove.com/decimal/telco.html

  4. M.F. Cowlishaw, Decimal floating-point: algorism for computers, in 16th IEEE Symposium on Computer Arithmetic: ARITH-16 2003: Proceedings: Santiago de Compostela, June 15–18, 2003, ed. by J.C. Bajard, M. Schulte (IEEE Computer Society Press, Silver Spring, MD, 2003), pp. 104–111

    Google Scholar 

  5. W. Buchholz, Fingers or fists? (the choice of decimal or binary representation). Commun. Assoc. Comput. Mach. 2 (12), 3–11 (1959)

    MATH  Google Scholar 

  6. H.A.H. Fahmy, R. Raafat, A.M. Abdel-Majeed, R. Samy, T. ElDeeb, Y. Farouk, Energy and delay improvement via decimal floating point units, in Proceedings of the 19th IEEE Symposium on Computer Arithmetic, Portland, OR (2009), pp. 221–224

    Google Scholar 

  7. L.-K. Wang, M.A. Erle, C. Tsen, E.M. Schwarz, M.J. Schulte, A survey of hardware designs for decimal arithmetic. IBM J. Res. Dev. 54, 8:1–8:15 (2010)

    Google Scholar 

  8. H.A.H. Fahmy, K. Ismail, Analysis of a single-electron decimal adder. Appl. Phys. Lett. 70, 2613–2615 (1997)

    Article  Google Scholar 

  9. M. Gladshtein, Delay-based processing-in-wire for design of QCA serial decimal arithmetic units. ACM J. Emerg. Technol. Comput. Syst. 10, 13:1–13:18 (2014)

    Google Scholar 

  10. L. Eisen, J.W. Ward III, H.-W. Tast, N. Mäding, J. Leenstra, S.M. Mueller, C. Jacobi, J. Preiss, E.M. Schwarz, S.R. Carlough, IBM POWER6 accelerators: VMX and DFU. IBM J. Res. Dev. 51, 663–683 (2007)

    Article  Google Scholar 

  11. E.M. Schwarz, J.S. Kapernick, M.F. Cowlishaw, Decimal floating-point support on the IBM System z10 processor. IBM J. Res. Dev. 53, 4:1–4:10 (2009)

    Google Scholar 

  12. S. Carlough, A. Collura, S. Mueller, M. Kroener, The IBM zEnterprise-196 decimal floating-point accelerator, in Schwarz and Oklobdzija [84], pp. 139–146

    Google Scholar 

  13. R. Raafat, A. Mohamed, R. Samy, T. ElDeeb, Y. Farouk, M. Elkhouly, H.A.H. Fahmy, A decimal fully parallel and pipelined floating point multiplier, in Forty-Second Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2008)

    Google Scholar 

  14. R. Samy, H.A.H. Fahmy, R. Raafat, A. Mohamed, T. ElDeeb, Y. Farouk, A decimal floating-point fused-multiply-add unit, in Fifty-Third MidWest Symposium on Circuits and Systems, (MWSCAS), Seattle, Washington (2010)

    Google Scholar 

  15. H.A.H. Fahmy, T. ElDeeb, M. Hassan, Y. Farouk, R. Eissa, Decimal floating point for future processors, in The 22nd International Conference on Microelectronics, ICM 2010 (2010)

    Google Scholar 

  16. T. Yoshida, T. Maruyama, Y. Akizuki, R. Kan, N. Kiyota, K. Ikenishi, S. Itou, T. Watahiki, H. Okano, Sparc64 x: Fujitsu’s new-generation 16-core processor for unix servers. IEEE Micro 33, 16–24 (2013)

    Article  Google Scholar 

  17. M. Cornea, J. Harrison, C. Anderson, P. Tang, E. Schneider, E. Gvozdev, A software implementation of the IEEE 754R decimal floating-point arithmetic using the binary encoding format. IEEE Trans. Comput. 58, 148–162 (2009)

    Article  MathSciNet  Google Scholar 

  18. M. Cowlishaw, The decNumber C Library (IBM Corporation, San Jose, CA, 2006). Version 3.37

    Google Scholar 

  19. International Organization for Standardization, ISO/IEC TR 24732:2009 Information technology — Programming languages, their environments and system software interfaces — Extension for the programming language C to support decimal floating-point arithmetic. Technical Report, International Organization for Standardization, Geneva, 2009

    Google Scholar 

  20. J. Thompson, N. Karra, M.J. Schulte, A 64-bit decimal floating-point adder, in Proceedings of the IEEE Computer Society Annual Symposium on VLSI, 19–20 February 2004 (IEEE Computer Society Press, Silver Spring, MD, 2004), pp. 297–298

    Google Scholar 

  21. Á. Vázquez, E. Antelo, A high-performance significand BCD adder with IEEE 754-2008 decimal rounding, in Bruguera et al. [85], pp. 135–144

    Google Scholar 

  22. M.H. Amin, A.M. ElTantawy, H.A.H. Fahmy, A. Khedr, Efficient decimal leading zero anticipator designs, in Forty-Fifth Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2011)

    Google Scholar 

  23. L.-K. Wang, M.J. Schulte, A decimal floating-point adder with decoded operands and a decimal leading-zero anticipator, in Bruguera et al. [85], pp. 125–134

    Google Scholar 

  24. L.-K. Wang, M.J. Schulte, J.D. Thompson, N. Jairam, Hardware designs for decimal floating-point addition and related operations. IEEE Trans. Comput. 58, 322–335 (2009)

    Article  MathSciNet  Google Scholar 

  25. K. Yehia, H.A.H. Fahmy, M. Hassan, A redundant decimal floating-point adder, in Forty-Fourth Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2010)

    Google Scholar 

  26. S.Y. Elsayed, H.A.H. Fahmy, M.S. Khairy, Residue codes for error correction in a combined decimal/binary redundant floating point adder, in Forty-Sixth Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2012)

    Google Scholar 

  27. C. Tsen, S. Gonzalez-Navarro, M. Schulte, Hardware design of a binary integer decimal-based floating-point adder, in 25th International Conference on Computer Design, 2007 (ICCD 2007), 7–10 October 2007, Resort at Squaw Creek, Lake Tahoe, CA, ed. by IEEE (IEEE Computer Society Press, Silver Spring, MD, 2007), pp. 288–295

    Google Scholar 

  28. C. Tsen, M. Schulte, S. Gonzalez-Navarro, Hardware design of a binary integer decimal-based IEEE P754 rounding unit, in ASAP 07: Conference Proceedings: IEEE 18th International Conference on Application-Specific Systems, Architectures, and Processors: Montréal: July 8–11, 2007, ed. by IEEE (IEEE Computer Society Press, Silver Spring, MD, 2007), pp. 115–121

    Google Scholar 

  29. C. Tsen, S. Gonzalez-Navarro, M.J. Schulte, K. Compton, Hardware designs for binary integer decimal-based rounding. IEEE Trans. Comput. 60, 614–627 (2011)

    Article  MathSciNet  Google Scholar 

  30. A.A.M. Ayoub, Binary integer decimal-based floating point adder. Master’s thesis, Electronics and Electrical Communications Department, Cairo University, Giza (2014). Available at http://eece.cu.edu.eg/~hfahmy/thesis/2014_03_dpdbid.pdf

    Google Scholar 

  31. A.A. Ayoub, H.A.H. Fahmy, BID to BCD/DPD converters. US Patent number 9134958 (2015)

    Google Scholar 

  32. A.A. Ayoub, H.A.H. Fahmy, T. Eldeeb, DPD/BCD to BID converters. US Patent number 9143159 (2015)

    Google Scholar 

  33. A. Vazquez, E. Antelo, P. Montuschi, A new family of high-performance parallel decimal multipliers, in Kornerup and Muller [86], pp. 195–204

    Google Scholar 

  34. A. Vazquez, E. Antelo, P. Montuschi, Improved design of high-performance parallel decimal multipliers. IEEE Trans. Comput. 59, 679–693 (2010)

    Article  MathSciNet  Google Scholar 

  35. S. Gonzalez-Navarro, C. Tsen, M. Schulte, Binary integer decimal-based multiplier for decimal floating-point arithmetic, in Conference Record of the Forty-first Asilomar Conference on Signals, Systems and Computers: November 4–7, 2007, Pacific Grove, CA. ACSSC 2007, ed. by M.B. Matthews (IEEE Computer Society Press, Silver Spring, MD, 2008), pp. 353–357

    Google Scholar 

  36. S. Gonzalez-Navarro, C. Tsen, M.J. Schulte, Binary integer decimal-based floating-point multiplication. IEEE Trans. Comput. 62, 1460–1466 (2013)

    Article  MathSciNet  Google Scholar 

  37. M.A. Erle, M.J. Schulte, Decimal multiplication via carry-save addition, in IEEE International Conference on Application-Specific Systems, Architectures and Processors: Proceedings: ASAP 2003, 24–26 June, 2003, The Hague, ed. by E.F. Deprettere (IEEE Computer Society Press, Silver Spring, MD, 2003), pp. 348–358. IEEE Computer Society Order Number PR01992

    Google Scholar 

  38. R.D. Kenney, M.J. Schulte, M.A. Erle, A high-frequency decimal multiplier, in IEEE International Conference on Computer Design: VLSI in Computers and Processors, 2004. ICCD 2004. Proceedings, 11–13 October 2004, ed. by IEEE (IEEE Computer Society Press, Silver Spring, MD, 2004), pp. 26–29

    Google Scholar 

  39. R.D. Kenney, M.J. Schulte, M.A. Erle, Multioperand decimal addition, in Emerging Trends in VLSI Systems Design: Proceedings: IEEE Computer Society Annual Symposium on VLSI, 19–20 February 2004, Lafayette, LA [ISVLSI 2004], ed. by A. Smailagic, M.A. Bayoumi (IEEE Computer Society Press, Silver Spring, MD, 2004), pp. 251–253. IEEE Computer Society order number P2097

    Google Scholar 

  40. M. Erle, E. Schwarz, M. Schulte, Decimal multiplication with efficient partial product generation, in Proceedings of the 17th IEEE Symposium on Computer Arithmetic, ARITH-17 2005, June 27–29, 2005, Cape Cod, MA, ed. by P. Montuschi, E.E.M. Schwarz (IEEE Computer Society Press, Silver Spring, MD, 2005), pp. 21–28

    Google Scholar 

  41. M.A. Erle, M.J. Schulte, B.J. Hickmann, Decimal floating-point multiplication via carry-save addition, in Kornerup and Muller [86], pp. 46–55

    Google Scholar 

  42. M.A. Erle, B.J. Hickmann, M.J. Schulte, Decimal floating-point multiplication. IEEE Trans. Comput. 58, 902–916 (2009)

    Article  MathSciNet  Google Scholar 

  43. L. Dadda, Multioperand parallel decimal adder: a mixed binary and BCD approach. IEEE Trans. Comput. 56, 1320–1328 (2007)

    Article  MathSciNet  Google Scholar 

  44. M. Mahmoud, H.A.H. Fahmy, A parallel combined binary/decimal fixed-point multiplier with binary partial products reduction tree, in The 21st International Conference on Computer Theory and Applications (ICCTA), Alexandria (2011)

    Google Scholar 

  45. C. Tsen, S. Gonzalez-Navarro, M.J. Schulte, B. Hickmann, K. Compton, A combined decimal and binary floating-point multiplier, in 20th IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP 2009), Boston, MA, 7–9 July 2009, ed. by IEEE (IEEE Computer Society Press, Silver Spring, MD, 2009), pp. 8–15

    Google Scholar 

  46. G. Jaberipur, A. Kaivani, Improving the speed of parallel decimal multiplication. IEEE Trans. Comput. 58, 1539–1552 (2009)

    Article  MathSciNet  Google Scholar 

  47. L. Han, S.-B. Ko, High-speed parallel decimal multiplication with redundant internal encodings. IEEE Trans. Comput. 62, 956–968 (2013). See comment [48]

    Google Scholar 

  48. S. Gorgin, G. Jaberipur, Comment on High-speed parallel decimal multiplication with redundant internal encodings. IEEE Trans. Comput. 64, 293–294 (2015). See [47]

    Google Scholar 

  49. D.R. Lutz, Fused multiply-add microarchitecture comprising separate early-normalizing multiply and add pipelines, in Schwarz and Oklobdzija [84], pp. 123–128

    Google Scholar 

  50. P.K. Monsson, Combined binary and decimal floating-point unit. Master’s thesis, Technical University of Denmark (2008)

    Google Scholar 

  51. A. Sayed-Ahmed, H.A.H. Fahmy, R. Samy, Verification of decimal floating-point fused-multiply-add operation, in The Ninth ACS/IEEE International Conference on Computer Systems and Applications (AICCSA), Sharm El-Sheikh (2011)

    Google Scholar 

  52. R. Samy, H.A.H. Fahmy, T. Eldeeb, R. Raafat, Y. Farouk, M. Elkhouly, A. Mohamed, Decimal floating-point fused multiply-add unit (2014). US Patent number 8694572

    Google Scholar 

  53. A.M. ElTantawy, Decimal floating point arithmetic unit based on a fused multiply add module. Master’s thesis, Electronics and Electrical Communications Department, Cairo University, Giza (2011). Available at http://eece.cu.edu.eg/~hfahmy/thesis/2011_08_dfma.pdf

    Google Scholar 

  54. A. Akkas, M.J. Schulte, A decimal floating-point fused multiply-add unit with a novel decimal leading-zero anticipator, in IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP) (2011), pp. 43–50

    Google Scholar 

  55. A.A.A. Wahba, Fully IEEE-compliant binary/decimal unit based on a binary/decimal fma. Master’s thesis, Electronics and Electrical Communications Department, Cairo University, Giza (2014). Available at http://eece.cu.edu.eg/~hfahmy/thesis/2014_06_bd_fma.pdf

    Google Scholar 

  56. M.D. Ercegovac, T. Lang, Digital Arithmetic (Morgan Kaufmann, Los Altos, CA, 2004)

    Google Scholar 

  57. M.J. Flynn, On division by functional iteration. IEEE Trans. Comput. C-19, 702–706 (1970). Reprinted in [87]

    Google Scholar 

  58. P. Rabinowitz, Multiple-precision division. Commun. Assoc. Comput. Mach. 4, 98–98 (1961)

    MATH  Google Scholar 

  59. L.-K. Wang, M.J. Schulte, Decimal floating-point division using Newton–Raphson iteration, in Proceedings of 15th IEEE International Conference on Application-Specific Systems, Architectures and Processors, 27–29 September 2004 (IEEE Computer Society Press, Silver Spring, MD, 2004), pp. 84–95

    Google Scholar 

  60. L.-K. Wang, M.J. Schulte, A decimal floating-point divider using Newton–Raphson iteration. J. VLSI Sig. Proc. 49, 3–18 (2007)

    Article  Google Scholar 

  61. T. Lang, A. Nannarelli, A radix-10 digit-recurrence division unit: algorithm and architecture. IEEE Trans. Comput. 56, 727–739 (2007)

    Article  MathSciNet  Google Scholar 

  62. H. Nikmehr, B. Phillips, C.-C. Lim, Fast decimal floating-point division. IEEE Trans. Very Large Scale Integr. VLSI Syst. 14, 951–961 (2006)

    Article  Google Scholar 

  63. A. Mohamed, R. Raafat, H.A.H. Fahmy, T. Eldeeb, Y. Farouk, R. Samy, M. Elkhouly, Parallel redundant decimal fused-multiply-add circuit (2014). US Patent number 8805917

    Google Scholar 

  64. A. Mohamed, H.A.H. Fahmy, R. Raafat, Y. Farouk, M. Elkhouly, R. Samy, T. Eldeeb, Rounding unit for decimal floating-point division (2014). US Patent number 8751555

    Google Scholar 

  65. C.V. Ramamoorthy, J.R. Goodman, K.H. Kim, Some properties of iterative square-rooting methods using high-speed multiplication. IEEE Trans. Comput. C-21, 837–847 (1972)

    Article  MATH  Google Scholar 

  66. L.-K. Wang, M.J. Schulte, Decimal floating-point square root using Newton–Raphson iteration, in 16th IEEE International Conference on Application-Specific Systems, Architectures, and Processors: ASAP 2005, 23–25 July 2005, Samos, ed. by S. Vassiliadis, N.J. Dimopoulos, S.V. Rajopadhye (IEEE Computer Society Press, Silver Spring, MD, 2005), pp. 309–315

    Google Scholar 

  67. A.S. Ahmed, H.A.H. Fahmy, U. Kuehne, Verification of the decimal floating-point square root operation, in 19th IEEE European Test Symposium (ETS), Paderborn (2014)

    Google Scholar 

  68. R. Raafat, A. Mohamed, H.A.H. Fahmy, Y. Farouk, M. Elkhouly, T. Eldeeb, R. Samy, Decimal floating-point square-root unit using Newton-Raphson iterations (2014). US Patent number 8812575

    Google Scholar 

  69. D. Chen, Y. Zhang, Y. Choi, M.H. Lee, S.-B. Ko, A 32-bit decimal floating-point logarithmic converter, in Bruguera et al. [85], pp. 195–203

    Google Scholar 

  70. D. Chen, L. Han, Y. Choi, S. Ko, Improved decimal floating-point logarithmic converter based on selection by rounding. IEEE Trans. Comput. 61, 607–621 (2012)

    Article  MathSciNet  Google Scholar 

  71. D. Chen, Y. Zhang, D. Teng, K. Wahid, M.H. Lee, S.-B. Ko, A new decimal antilogarithmic converter, in 2009 IEEE International Symposium on Circuits and Systems: Circuits and Systems for Human Centric Smart Living Technologies, Conference Program, Taipei International Convention Center, Taipei, May 24–May 27, 2009, ed. by IEEE (IEEE Computer Society Press, Silver Spring, MD, 2009), pp. 445–448

    Google Scholar 

  72. M. Hassan, T. ElDeeb, H.A.H. Fahmy, Algorithm and architecture for on-line decimal powering computation, in Forty-Fourth Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2010)

    Google Scholar 

  73. W.S. Sayed, H.A.H. Fahmy, What are the correct results for the special values of the operands of the power operation? Trans. Math. Softw. 42 (2), 14:1–14:17 (2016) doi:10.1145/2809783

  74. T. ElDeeb, H.A.H. Fahmy, M.Y. Hassan, Decimal elementary functions computation. (2014). US Patent number 8788560

    Google Scholar 

  75. J. Harrison, Decimal transcendentals via binary, in Bruguera et al. [85], pp. 187–194

    Google Scholar 

  76. Á. Vázquez, J. Villalba, E. Antelo, Computation of decimal transcendental functions using the CORDIC algorithm, in Bruguera et al. [85], pp. 179–186

    Google Scholar 

  77. A. Kaivani, G. Jaberipur, Decimal CORDIC rotation based on selection by rounding: algorithm and architecture. Comput. J. 54, 1798–1809 (2011)

    Article  Google Scholar 

  78. C. Kern, M.R. Greenstreet, Formal verification in hardware design: a survey. ACM Trans. Des. Autom. Electron. Syst. 4, 123–193 (1999)

    Article  Google Scholar 

  79. D.M. Russinoff, A mechanically checked proof of IEEE compliance of the floating point multiplication, division and square root algorithms of the AMD-K7TM processor. LMS J. Comput. Math. 1, 148–200 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  80. E. Guralnik, M. Aharoni, A.J. Birnbaum, A. Koyfman, Simulation-based verification of floating-point division. IEEE Trans. Comput. 60, 176–188 (2011)

    Article  MathSciNet  Google Scholar 

  81. M. Aharoni, R. Maharik, A. Ziv, Solving constraints on the intermediate result of decimal floating-point operations, in Kornerup and Muller [86], pp. 38–45

    Google Scholar 

  82. C. University, Arithmetic operations debugging and verification (2012). Available at http://eece.cu.edu.eg/~hossam/arith_debug/

    Google Scholar 

  83. A. Sayed-Ahmed, H.A.H. Fahmy, M. Hassan, Three engines to solve verification constraints of decimal floating-point operations, in Forty-Fourth Asilomar Conference on Signals, Systems, and Computers, Asilomar, CA (2010)

    Google Scholar 

  84. E. Schwarz, V.G. Oklobdzija (eds.), Proceedings of the 20th IEEE Symposium on Computer Arithmetic, July 25–27, 2011, Tübingen (IEEE Computer Society Press, Silver Spring, MD, 2011)

    Google Scholar 

  85. J.D. Bruguera, M. Cornea, D. DasSarma, J. Harrison (eds.), Proceedings of the 19th IEEE Symposium on Computer Arithmetic, June 8–10, 2009, Portland, OR (IEEE Computer Society Press, Silver Spring, MD, 2009)

    Google Scholar 

  86. P. Kornerup, J.-M. Muller (eds.), Proceedings of the 18th IEEE Symposium on Computer Arithmetic, June 25–27, 2007, Montpellier (IEEE Computer Society Press, Silver Spring, MD, 2007)

    Google Scholar 

  87. E.E. Swartzlander Jr., Computer Arithmetic. IEEE Computer Society Press Tutorial, vol. 1 (IEEE Computer Society Press, Silver Spring, MD, 1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hossam A. H. Fahmy .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Cite this chapter

Fahmy, H.A.H. (2017). Decimal Floating Point Number System. In: Molahosseini, A., de Sousa, L., Chang, CH. (eds) Embedded Systems Design with Special Arithmetic and Number Systems. Springer, Cham. https://doi.org/10.1007/978-3-319-49742-6_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-49742-6_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-49741-9

  • Online ISBN: 978-3-319-49742-6

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics