Talk:Decimal floating point number to binary: Difference between revisions

From Rosetta Code
Content added Content deleted
(→‎What is a "decimal floating point number"?: added comments, added a new section. -- ~~~~)
Line 4: Line 4:
: REXX stores all values (including the aforementioned numbers) as a (character) '''string''', not a BCD. -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 22:07, 4 February 2014 (UTC)
: REXX stores all values (including the aforementioned numbers) as a (character) '''string''', not a BCD. -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 22:07, 4 February 2014 (UTC)
: I would hope that   ''decimal floating point number''   wouldn't be re-defined as a decimal floating point number being stored in binary. -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 22:07, 4 February 2014 (UTC)
: I would hope that   ''decimal floating point number''   wouldn't be re-defined as a decimal floating point number being stored in binary. -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 22:07, 4 February 2014 (UTC)

:: Technically, that decimal string is just the serialisation in Tcl. It's also a good-old IEEE binary double. People are encouraged to think in terms of the serialised forms, sure, but it's terribly slow to do everything that way. (We know because Tcl used to work that way, long ago.)
:: I ''believe'' the task is asking for a printed form that is in base two, i.e., that uses only the digits <tt>0</tt> and <tt>1</tt> (and appropriate non-digit characters). Thus, <tt>0.75</tt><sub>dec</sub> is the same as <tt>0.11</tt><sub>bin</sub>. –[[User:Dkf|Donal Fellows]] ([[User talk:Dkf|talk]]) 00:35, 5 February 2014 (UTC)


==range of numbers==
==range of numbers==

Revision as of 00:35, 5 February 2014

What is a "decimal floating point number"?

I don't understand the task. Most floating-point numbers are in no way "decimal", but rather stored with a binary mantissa and exponent. The example given, 23.34375, is a decimal number, but it is not necessarily a floating-point number, despite the fact that many languages would store it as floating-point (such as C or Perl 5). Other languages will store it as a rational representation with explicit numerator and denominator (Perl 6 does this, unless you explicitly use E notation). Still other languages might choose to store it in a fixed-point representation with an implied denominator. And some languages will simply keep it as an ASCII string (vintage Tcl) or as a BCD string (REXX I think) and do arithmetic on the string. So I suspect this task should either drop the words "floating point" or should make it clear what is supposed to be "floating" here. Thanks. --TimToady (talk) 20:19, 4 February 2014 (UTC)

REXX stores all values (including the aforementioned numbers) as a (character) string, not a BCD. -- Gerard Schildberger (talk) 22:07, 4 February 2014 (UTC)
I would hope that   decimal floating point number   wouldn't be re-defined as a decimal floating point number being stored in binary. -- Gerard Schildberger (talk) 22:07, 4 February 2014 (UTC)
Technically, that decimal string is just the serialisation in Tcl. It's also a good-old IEEE binary double. People are encouraged to think in terms of the serialised forms, sure, but it's terribly slow to do everything that way. (We know because Tcl used to work that way, long ago.)
I believe the task is asking for a printed form that is in base two, i.e., that uses only the digits 0 and 1 (and appropriate non-digit characters). Thus, 0.75dec is the same as 0.11bin. –Donal Fellows (talk) 00:35, 5 February 2014 (UTC)

range of numbers

No mention was made for the range of numbers (in digits or as characters).
I.E.:   how large can/should they be? -- Gerard Schildberger (talk) 22:07, 4 February 2014 (UTC)

Also, I would assume that negative numbers would be allowed. -- Gerard Schildberger (talk) 22:07, 4 February 2014 (UTC)