Channels ▼

Christopher Diggins

Dr. Dobb's Bloggers

Decimal Floating Point Types in my VM

June 26, 2009

A friend of mine asked me, why did you include decimal floating point types in your VM specification. This is because I believe it has a good chance to become ubiquitous in the future as a hardware standard.

I like the idea of decimal floating point, or perhaps it is more the cast that I dislike binary floating point. Many of us tend to think of base 10 real numbers when we hear floating point, but in most hardware implementations the representation of a binary floating point number leads to some subtle but important differences, especially with regards to the set of irrationals. 

The challenges with working with binary floating point, become especially apparent in financial applications, where precise representation of large decimal quantities is important. 

That was a bit of an emotional argument, regarding my own feelings regarding, but a more practical point is the following quote from Intel :

In planning to improve on how decimal calculations are carried out and at the same time to make Intel Corporation one of the early adopters of the decimal floating-point arithmetic from the IEEE Standard 754R draft, we have implemented in software adecimal floating-point library, posted here. Standardization committees for high-level languages such as C and C++ are already developing plans to add decimal floating-point support to these languages.  

This alone is sufficient for me to believe that there is a strong likelihood of many architectures supporting decimal floating-point math in the future.   

For those interested in a more detailed argument, I will refer them to Decimal Floating-Point: Algorism for Computers. Note: for those unfamiliar with the term algorism the Wikipedia definition (sorry I'm lazy) is  is the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits.

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 


Video