A Software Implementation of the IEEE 754R Decimal Floating-Point Arithmetic Using the Binary Encoding Format
The IEEE Standard 754-1985 for binary floating-point arithmetic [19] was revised [20], and an important addition is the definition of decimal floating-point arithmetic [8], [24]. This is intended mainly to provide a robust reliable framework for financial applications that are often subject to legal...
Gespeichert in:
| Veröffentlicht in: | IEEE transactions on computers Jg. 58; H. 2; S. 148 - 162 |
|---|---|
| Hauptverfasser: | , , , , , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
New York
IEEE
01.02.2009
The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| Schlagworte: | |
| ISSN: | 0018-9340, 1557-9956 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Abstract | The IEEE Standard 754-1985 for binary floating-point arithmetic [19] was revised [20], and an important addition is the definition of decimal floating-point arithmetic [8], [24]. 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. The 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 floating-point arithmetic, with emphasis on using binary operations efficiently. The focus is on rounding techniques for decimal values stored in binary format, but algorithms are outlined for the more important or interesting operations of addition, multiplication, and division, including the case of nonhomogeneous operands, as well as conversions between binary and decimal floating-point formats. 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. This paper extends an earlier publication [6]. |
|---|---|
| AbstractList | The IEEE Standard 754-1985 for binary floating-point arithmetic [19] was revised [20], and an important addition is the definition of decimal floating-point arithmetic [8], [24]. 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. The 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 floating-point arithmetic, with emphasis on using binary operations efficiently. The focus is on rounding techniques for decimal values stored in binary format, but algorithms are outlined for the more important or interesting operations of addition, multiplication, and division, including the case of nonhomogeneous operands, as well as conversions between binary and decimal floating-point formats. 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. This paper extends an earlier publication [6]. The IEEE Standard 754-1985 for binary floating-point arithmetic [19] was revised [20], and an important addition is the definition of decimal floating-point arithmetic [8], [24]. This is intended mainly to provide a robust reliable framework [abstract truncated by publisher]. The focus is on rounding techniques for decimal values stored in binary format, but algorithms are outlined for the more important or interesting operations of addition, multiplication, and division, including the case of nonhomogeneous operands, as well as conversions between binary and decimal floating-point formats. |
| Author | Schneider, E. Harrison, J. Anderson, C. Cornea, M. Tang, P. Gvozdev, E. |
| Author_xml | – sequence: 1 givenname: M. surname: Cornea fullname: Cornea, M. organization: Intel Corp., Hillsboro, OR – sequence: 2 givenname: J. surname: Harrison fullname: Harrison, J. organization: Intel Corp., Hillsboro, OR – sequence: 3 givenname: C. surname: Anderson fullname: Anderson, C. organization: Intel Corp., Hillsboro, OR – sequence: 4 givenname: P. surname: Tang fullname: Tang, P. organization: D.E. Shaw Res. LLC, New York, NY – sequence: 5 givenname: E. surname: Schneider fullname: Schneider, E. organization: Intel Corp., Hillsboro, OR – sequence: 6 givenname: E. surname: Gvozdev fullname: Gvozdev, E. organization: Diveevo District, Intel Corp., Satis |
| BookMark | eNqF0c9rFDEUB_AgFdxWTx69BA96kKnJ5Mckx3Wd1UJB0e15yGZebMpMsiZZpP-9GVc8FNTLCzw-L7zke47OQgyA0HNKLikl-u1uc9kSomrRj9CKCtE1Wgt5hlaEUNVoxskTdJ7zHSFEVrRC8xp_ja78MAnw1XyYYIZQTPEx4Ohwua3dvu9xJ_gX_B6sn82Et1OsInxrPkcfCl4nX25nKN7im1zbv6be-WDSPe6DjePS28Y0m_IUPXZmyvDs93mBbrb9bvOxuf704Wqzvm4s57Q0jomRmU5bM2oFY0cMEcSovWtla_eOaUcVUEelBNkqMJQ6p7nr9kJoTUZgF-j16d5Dit-PkMsw-2xhmkyAeMyDJkxyIZX-r1RSK0lEt8hX_5Ssrq50qyp8-QDexWMK9b2DElIzQTiriJ6QTTHnBG6w_vTvJRk_DZQMS6LDbjMsidaybPDmwcwh1UDS_V_0i5P2APBHctlxxlv2E5Xgqlo |
| CODEN | ITCOB4 |
| CitedBy_id | crossref_primary_10_1109_TC_2012_89 crossref_primary_10_1109_TC_2012_35 crossref_primary_10_1007_s40031_021_00657_8 crossref_primary_10_1016_j_cirp_2018_05_003 crossref_primary_10_3390_computers10020017 crossref_primary_10_1049_iet_cdt_2011_0089 crossref_primary_10_1109_TC_2015_2479602 crossref_primary_10_1007_s11265_013_0795_6 crossref_primary_10_1007_s11227_023_05808_w crossref_primary_10_1109_TC_2011_43 crossref_primary_10_1109_TC_2011_217 crossref_primary_10_1007_s10836_024_06123_9 crossref_primary_10_1016_j_entcs_2015_10_010 crossref_primary_10_1109_ACCESS_2023_3244891 |
| Cites_doi | 10.1109/ARITH.2007.7 10.1109/ACSSC.2002.1196949 10.1109/40.768506 10.1109/ieeestd.1985.82928 10.1147/rd.511.0217 10.1109/ARITH.2003.1207666 10.1145/103162.103163 10.1109/ASAP.2003.1212858 10.1145/221332.221334 10.1145/368518.368529 10.3403/00836057 10.1109/ACSSC.2001.987708 10.1049/ip-cdt:20020407 10.1109/TC.1983.1676238 |
| ContentType | Journal Article |
| Copyright | Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2009 |
| Copyright_xml | – notice: Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2009 |
| DBID | 97E RIA RIE AAYXX CITATION 7SC 7SP 8FD JQ2 L7M L~C L~D F28 FR3 |
| DOI | 10.1109/TC.2008.209 |
| DatabaseName | IEEE All-Society Periodicals Package (ASPP) 2005–Present IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE/IET Electronic Library (IEL) (UW System Shared) CrossRef Computer and Information Systems Abstracts Electronics & Communications Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional ANTE: Abstracts in New Technology & Engineering Engineering Research Database |
| DatabaseTitle | CrossRef Technology Research Database Computer and Information Systems Abstracts – Academic Electronics & Communications Abstracts ProQuest Computer Science Collection Computer and Information Systems Abstracts Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Professional Engineering Research Database ANTE: Abstracts in New Technology & Engineering |
| DatabaseTitleList | Technology Research Database Technology Research Database Technology Research Database Technology Research Database |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE/IET Electronic Library (IEL) (UW System Shared) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Engineering Computer Science |
| EISSN | 1557-9956 |
| EndPage | 162 |
| ExternalDocumentID | 2292130421 10_1109_TC_2008_209 4674342 |
| Genre | orig-research |
| GroupedDBID | --Z -DZ -~X .55 .DC 0R~ 29I 3EH 3O- 4.4 5GY 5VS 6IK 85S 97E AAJGR AARMG AASAJ AAWTH ABAZT ABFSI ABQJQ ABVLG ACGFO ACIWK ACNCT AENEX AETEA AETIX AGQYO AGSQL AHBIQ AI. AIBXA AKJIK AKQYR ALLEH ALMA_UNASSIGNED_HOLDINGS ASUFR ATWAV BEFXN BFFAM BGNUA BKEBE BPEOZ CS3 DU5 E.L EBS EJD HZ~ H~9 IAAWW IBMZZ ICLAB IEDLZ IFIPE IFJZH IPLJI JAVBF LAI M43 MS~ MVM O9- OCL P2P PQQKQ RIA RIE RNI RNS RXW RZB TAE TN5 TWZ UHB UKR UPT VH1 X7M XJT XOL XZL YXB YYQ YZZ ZCG AAYXX ABUFD CITATION 7SC 7SP 8FD JQ2 L7M L~C L~D RIG F28 FR3 |
| ID | FETCH-LOGICAL-c441t-f35d3a79cad98ed70a050a8bf262cbf39f18e1f166e628ea11ff94f7b55990de3 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 27 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000261846600002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0018-9340 |
| IngestDate | Sun Sep 28 02:48:03 EDT 2025 Sat Sep 27 19:21:47 EDT 2025 Sun Sep 28 12:16:40 EDT 2025 Mon Jun 30 05:40:37 EDT 2025 Sat Nov 29 08:09:46 EST 2025 Tue Nov 18 21:20:28 EST 2025 Wed Aug 27 02:49:02 EDT 2025 |
| IsDoiOpenAccess | false |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 2 |
| Keywords | General Software libraries Numerical Algorithms and Problems Standards |
| Language | English |
| License | https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c441t-f35d3a79cad98ed70a050a8bf262cbf39f18e1f166e628ea11ff94f7b55990de3 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 ObjectType-Article-2 ObjectType-Feature-1 content type line 23 |
| PQID | 856935043 |
| PQPubID | 23500 |
| PageCount | 15 |
| ParticipantIDs | proquest_journals_856935043 crossref_primary_10_1109_TC_2008_209 crossref_citationtrail_10_1109_TC_2008_209 proquest_miscellaneous_903645689 proquest_miscellaneous_869860579 ieee_primary_4674342 proquest_miscellaneous_34418928 |
| PublicationCentury | 2000 |
| PublicationDate | 2009-02-01 |
| PublicationDateYYYYMMDD | 2009-02-01 |
| PublicationDate_xml | – month: 02 year: 2009 text: 2009-02-01 day: 01 |
| PublicationDecade | 2000 |
| PublicationPlace | New York |
| PublicationPlace_xml | – name: New York |
| PublicationTitle | IEEE transactions on computers |
| PublicationTitleAbbrev | TC |
| PublicationYear | 2009 |
| Publisher | IEEE The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| Publisher_xml | – name: IEEE – name: The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| References | ref12 ref15 ref14 Gray (ref16) 2001; 2 ref11 (ref23) 2008 (ref20) 2006 (ref25) 2004 ref17 ref19 Boldo (ref2) Duale (ref10) 2007 Wang (ref26) (ref22) 2005 Bohlender (ref1) 1987 ref21 Tang (ref24) (ref18) 1998 Weik (ref27) 2007 ref8 ref7 ref4 (ref13) 1998 ref3 ref6 ref5 Cowlishaw (ref9) 2006 |
| References_xml | – ident: ref24 article-title: Binary-Integer Decimal Encoding for Decimal Floating Point – ident: ref6 doi: 10.1109/ARITH.2007.7 – volume-title: The Introduction of the Euro and the Rounding of Currency Amounts year: 1998 ident: ref13 – start-page: 31 volume-title: Computer Arithmetic: Scientific Computation and Programming Languages year: 1987 ident: ref1 article-title: A Decimal Floating-Point Processor for Optimal Arithmetic – volume-title: C# Language Specification year: 2005 ident: ref22 – volume-title: The decNumber Library year: 2006 ident: ref9 – ident: ref11 doi: 10.1109/ACSSC.2002.1196949 – volume-title: The ENIAC Story year: 2007 ident: ref27 – ident: ref26 article-title: Processor Support for Decimal Floating-Point Arithmetic – ident: ref17 doi: 10.1109/40.768506 – ident: ref19 doi: 10.1109/ieeestd.1985.82928 – volume-title: IBM J. Research and Development year: 2007 ident: ref10 article-title: Decimal Floating-Point in z9: An Implementation and Testing Perspective doi: 10.1147/rd.511.0217 – ident: ref8 doi: 10.1109/ARITH.2003.1207666 – ident: ref15 doi: 10.1145/103162.103163 – volume-title: Draft Standard for Floating-Point Arithmetic P754, Draft 1.2.5. year: 2006 ident: ref20 – volume-title: Class BigDecimal year: 2008 ident: ref23 – ident: ref12 doi: 10.1109/ASAP.2003.1212858 – ident: ref14 doi: 10.1145/221332.221334 – ident: ref3 doi: 10.1145/368518.368529 – volume-title: Proc. 17th IMACS World Congress, Scientific Computation, Applied Math. and Simulation ident: ref2 article-title: When Double Rounding Is Odd – ident: ref21 doi: 10.3403/00836057 – ident: ref4 doi: 10.1109/ACSSC.2001.987708 – ident: ref7 doi: 10.1049/ip-cdt:20020407 – volume: 2 issue: 3 year: 2001 ident: ref16 article-title: UNIVAC I Instruction Set publication-title: Unisys History Newsletter – ident: ref5 doi: 10.1109/TC.1983.1676238 – volume-title: The Telco Benchmark year: 1998 ident: ref18 – volume-title: XML Scheme Part 2: Datatypes Second Edition year: 2004 ident: ref25 |
| SSID | ssj0006209 |
| Score | 2.0761878 |
| Snippet | The IEEE Standard 754-1985 for binary floating-point arithmetic [19] was revised [20], and an important addition is the definition of decimal floating-point... The focus is on rounding techniques for decimal values stored in binary format, but algorithms are outlined for the more important or interesting operations of... |
| SourceID | proquest crossref ieee |
| SourceType | Aggregation Database Enrichment Source Index Database Publisher |
| StartPage | 148 |
| SubjectTerms | Accuracy Algorithms Approximation methods Arithmetic binary-decimal conversion Computer arithmetic Computer programs correct rounding decimal floating-point Decimals Encoding Floating point arithmetic Format Hardware Mathematical analysis multiple-precision arithmetic Software Table lookup |
| Title | A Software Implementation of the IEEE 754R Decimal Floating-Point Arithmetic Using the Binary Encoding Format |
| URI | https://ieeexplore.ieee.org/document/4674342 https://www.proquest.com/docview/856935043 https://www.proquest.com/docview/34418928 https://www.proquest.com/docview/869860579 https://www.proquest.com/docview/903645689 |
| Volume | 58 |
| WOSCitedRecordID | wos000261846600002&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVIEE databaseName: IEEE/IET Electronic Library (IEL) (UW System Shared) customDbUrl: eissn: 1557-9956 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0006209 issn: 0018-9340 databaseCode: RIE dateStart: 19680101 isFulltext: true titleUrlDefault: https://ieeexplore.ieee.org/ providerName: IEEE |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1Nb9QwEB2VigMcKLSghhbwoSdEqB07_ji2S1ecqgoWqbfIccZipW6CdrPw97GdbFSJ9sAtkidylMmMZzLz5gGcoSzRSOVDWiJpLpyvcyM4z5kNmZsThaPKJbIJdX2tb2_NzR58mrAwiJiaz_BzvEy1_KZz2_ir7DwyY3ARHO4TpeSA1Zq8rty1c7BgwFzQEYvHqDlfzIaeySJ2Hd47fRKdyj8-OB0s84P_e6SX8GIMIMnFoPFXsIftIRzsyBnIaKuH8PzepMEjWF2Q78Hh_rFrJGkg8GrEHLWk8yQEgSRmfUSV4hv5gm65ClvM7zobm6Lzm27Z9mHHZf9zFTGPJPUZpLsuE5yXXLWui4cgmacQ-DX8mF8tZl_zkWkhdyEc6nPPy4ZbZZxtjMZGUUtLanXtC1m42nPjmUbmmZQoC42WMe-N8KqO88pog_wN7Lddi8dARHCYIQZmwuo4A13WYb0oYr2zRu8ozeDjTgOVG8eQRzaMuyqlI9RUi9nAjRnUlcHZJPxrmL7xsNhR1MwkMiolg5OdaqvRMjeVLqXhcWxbBh-m1WBSsU5iW-y2m4qHd6JNoTMgj0hoabSMMN7HRUwq8Ept3j78cCfwbChMxc6YU9jv11t8B0_d7365Wb9P3_ZfbBr3zw |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1Rb9QwDLamgQQ8MNhAlAHLw54QZUmTpsnjOHYaYpwmOKS9VWnqaCftWnTXg79PkvaqSWwPvFWKq1R17di1P38Axyhz1LJwPi2RNBXWVakWnKfM-MzNiszSwkayiWI2U1dX-nIHPoxYGESMzWf4MVzGWn7d2k34VXYSmDG48A73QS5ERnu01uh35bahg3kT5oIOaDxG9cl80ndNZqHv8Nb5EwlV_vHC8WiZ7v3fQz2Dp0MISU57nT-HHWz2YW9Lz0AGa92HJ7dmDR7A8pT88C73j1khiSOBlwPqqCGtIz4MJCHvI0UuvpPPaBdLv8X0pjWhLTq9bBdN53dcdNfLgHoksdMg3vUpAnrJWWPbcAySaQyCX8DP6dl8cp4OXAup9QFRlzqe19wU2ppaK6wLamhOjapcJjNbOa4dU8gckxJlptAw5pwWrqjCxDJaI38Ju03b4CsgwrtMHwUzYVSYgi4rv55loeJZobOUJvB-q4HSDoPIAx_GTRkTEqrL-aRnx_TqSuB4FP7Vz9-4W-wgaGYUGZSSwOFWteVgm-tS5VLzMLgtgaNx1RtVqJSYBtvNuuT-nSidqQTIPRJKaiUDkPd-ER1LvFLp13c_3BE8Op9_uygvvsy-HsLjvkwV-mTewG632uBbeGh_d4v16l38zv8Cbq_7Fg |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+Software+Implementation+of+the+IEEE+754R+Decimal+Floating-Point+Arithmetic+Using+the+Binary+Encoding+Format&rft.jtitle=IEEE+transactions+on+computers&rft.au=Cornea%2C+M&rft.au=Harrison%2C+J&rft.au=Anderson%2C+C&rft.au=Tang%2C+P&rft.date=2009-02-01&rft.issn=0018-9340&rft.volume=58&rft.issue=2&rft.spage=148&rft.epage=162&rft_id=info:doi/10.1109%2FTC.2008.209&rft.externalDBID=NO_FULL_TEXT |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0018-9340&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0018-9340&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0018-9340&client=summon |