![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||
|
Important dates:
Done 1975 = First release of Altair BASIC with (now MBF) floating point by Monte Davidoff who had some experience writing floating point routines
Done 1978 = TRS-80 Level II BASIC introduces double precision
Done 1980 = Intel 8087 with (now IEEE) floating point by William Kahan
Done 1985 = IEEE standard published
1987 = QuickBASIC 4.00 (with IEEE floating point)
1991 = Visual Basic 1.0 (maybe not as important)
Conceptual:
Done Why is IEEE different? Try to motivate existence of NaNs, infs, denormals, different exponent size.
Done Why was it important for Altair BASIC to have floating point routines?
Why did Microsoft switch to IEEE after the standard was published, rather than sticking to MBF? (Interoperability, speed)
How would using these floating point numbers work from the user's perspective? What would you type, what would display?
What could you do with these floating point numbers?
Done Did other software support MBF numbers? (MASM comes to mind; Multiplan for the Tandy 200 notably didn't, it used BCD)
Niceties:
A few examples could be enlightening, for example a few simple numbers and the corresponding bytes, a BASIC session demonstrating their use, anything to make it all a bit more grounded. It's a bit abstract as it stands.
Nicer looking diagrams.
— Preceding unsigned comment added by 82.139.82.82 ( talk) 01:37, 2 October 2015 (UTC)
Hello fellow Wikipedians,
I have just modified one external link on Microsoft Binary Format. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{
Sourcecheck}}
).
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— cyberbot II Talk to my owner:Online 08:15, 31 May 2016 (UTC)
Hello fellow Wikipedians,
I have just modified one external link on Microsoft Binary Format. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit User:Cyberpower678/FaQs#InternetArchiveBot*this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{
Sourcecheck}}
).
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— cyberbot II Talk to my owner:Online 19:03, 2 June 2016 (UTC)
Hello fellow Wikipedians,
I have just modified 2 external links on Microsoft Binary Format. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
{{
dead link}}
tag to
https://www.7api.com/converting-microsoft-binary-format-to-ieee-format-using-vb-6-beatfx.htmlWhen you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— InternetArchiveBot ( Report bug) 10:16, 29 January 2018 (UTC)
"At the time, while IBM had introduced their own programs"
Well, practically everyone had "introduced their own programs". And their own FP formats. What is this statement supposed to mean? Maury Markowitz ( talk) 00:25, 4 November 2019 (UTC)
Hi, I marked a few sentence fragments regarding the exponent bias and the actually used values in the exponent field in MBFs because something does not appear to be quite right here. When you look at the list of example values further down in the article (in particular for the binary representation for numbers (2,) 1, 0.5, 0.25), it can be seen that binary exponent field values 81h..FFh are associated with positive numbers larger or equal to 1 (or negative numbers smaller or equal than -1), and binary field values 01h..80h are associated with positive numbers smaller than 1 (or negative values larger than -1). The exponent field value 00h is special and is associated with a number of 0. This is odd, because one would more likely expect ranges 01h..7Fh and 80h..FFh (as currently stated in the article, but unsourced). (Something to keep into account when comparing with IEEE 754: MBF places the decimal point before the assumed bit, while IEEE places the decimal point after the assumed bit.)
The example values are taken from byte-exact disassembled ROMs of the 6502 port, so, while the examples are definitely accurate binary-wise, it would still be possible for the source comments to be misleading. However, there are some magic constants (2*pi, pi/2, sqrt(2)) used in the trigonometric algorithms (which make sense "as is" algorithmically, so they are unlikely to have wrongly interpreted numbers in the comments), and they fit in nicely with the other values, suggesting that their interpretation is correct as well.
Though unlikely, it is also possible that the binary representation of the 6502 implementation of MBFs actually was different from that of the 8080 and/or x86 versions, the latter being described in a Borland document.
Of course, it is also possible that I am just missing something.
Since the numbers have been changed back and forth a couple of times in the history of the article, it would be great if others could investigate this as well. I don't ask for removal of this contents (because, I think, it is important for historical reasons to document these formats accurately and down to the bit level), more for plausibility checking and possibly to provide additional "accurately known" real-world example values (for the various platforms) for comparison. -- Matthiaspaul ( talk) 17:45, 31 August 2020 (UTC)
![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||
|
Important dates:
Done 1975 = First release of Altair BASIC with (now MBF) floating point by Monte Davidoff who had some experience writing floating point routines
Done 1978 = TRS-80 Level II BASIC introduces double precision
Done 1980 = Intel 8087 with (now IEEE) floating point by William Kahan
Done 1985 = IEEE standard published
1987 = QuickBASIC 4.00 (with IEEE floating point)
1991 = Visual Basic 1.0 (maybe not as important)
Conceptual:
Done Why is IEEE different? Try to motivate existence of NaNs, infs, denormals, different exponent size.
Done Why was it important for Altair BASIC to have floating point routines?
Why did Microsoft switch to IEEE after the standard was published, rather than sticking to MBF? (Interoperability, speed)
How would using these floating point numbers work from the user's perspective? What would you type, what would display?
What could you do with these floating point numbers?
Done Did other software support MBF numbers? (MASM comes to mind; Multiplan for the Tandy 200 notably didn't, it used BCD)
Niceties:
A few examples could be enlightening, for example a few simple numbers and the corresponding bytes, a BASIC session demonstrating their use, anything to make it all a bit more grounded. It's a bit abstract as it stands.
Nicer looking diagrams.
— Preceding unsigned comment added by 82.139.82.82 ( talk) 01:37, 2 October 2015 (UTC)
Hello fellow Wikipedians,
I have just modified one external link on Microsoft Binary Format. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{
Sourcecheck}}
).
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— cyberbot II Talk to my owner:Online 08:15, 31 May 2016 (UTC)
Hello fellow Wikipedians,
I have just modified one external link on Microsoft Binary Format. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit User:Cyberpower678/FaQs#InternetArchiveBot*this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{
Sourcecheck}}
).
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— cyberbot II Talk to my owner:Online 19:03, 2 June 2016 (UTC)
Hello fellow Wikipedians,
I have just modified 2 external links on Microsoft Binary Format. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
{{
dead link}}
tag to
https://www.7api.com/converting-microsoft-binary-format-to-ieee-format-using-vb-6-beatfx.htmlWhen you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— InternetArchiveBot ( Report bug) 10:16, 29 January 2018 (UTC)
"At the time, while IBM had introduced their own programs"
Well, practically everyone had "introduced their own programs". And their own FP formats. What is this statement supposed to mean? Maury Markowitz ( talk) 00:25, 4 November 2019 (UTC)
Hi, I marked a few sentence fragments regarding the exponent bias and the actually used values in the exponent field in MBFs because something does not appear to be quite right here. When you look at the list of example values further down in the article (in particular for the binary representation for numbers (2,) 1, 0.5, 0.25), it can be seen that binary exponent field values 81h..FFh are associated with positive numbers larger or equal to 1 (or negative numbers smaller or equal than -1), and binary field values 01h..80h are associated with positive numbers smaller than 1 (or negative values larger than -1). The exponent field value 00h is special and is associated with a number of 0. This is odd, because one would more likely expect ranges 01h..7Fh and 80h..FFh (as currently stated in the article, but unsourced). (Something to keep into account when comparing with IEEE 754: MBF places the decimal point before the assumed bit, while IEEE places the decimal point after the assumed bit.)
The example values are taken from byte-exact disassembled ROMs of the 6502 port, so, while the examples are definitely accurate binary-wise, it would still be possible for the source comments to be misleading. However, there are some magic constants (2*pi, pi/2, sqrt(2)) used in the trigonometric algorithms (which make sense "as is" algorithmically, so they are unlikely to have wrongly interpreted numbers in the comments), and they fit in nicely with the other values, suggesting that their interpretation is correct as well.
Though unlikely, it is also possible that the binary representation of the 6502 implementation of MBFs actually was different from that of the 8080 and/or x86 versions, the latter being described in a Borland document.
Of course, it is also possible that I am just missing something.
Since the numbers have been changed back and forth a couple of times in the history of the article, it would be great if others could investigate this as well. I don't ask for removal of this contents (because, I think, it is important for historical reasons to document these formats accurately and down to the bit level), more for plausibility checking and possibly to provide additional "accurately known" real-world example values (for the various platforms) for comparison. -- Matthiaspaul ( talk) 17:45, 31 August 2020 (UTC)