Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IBM hexadecimal floating-point
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== The decision for hexadecimal floating-point == The article "Architecture of the IBM System/360" explains the choice as being because "the frequency of pre-shift, overflow, and precision-loss post-shift on floating-point addition are substantially reduced by this choice."<ref name="IBM Journal of R&D">{{cite journal |last1=Amdahl |first1=Gene |last2=Blaauw |first2=Gerrit |last3=Brooks, Jr |first3=Frederick |title=Architecture of the IBM System/360 |journal=IBM Journal of Research and Development |volume=1964 |page=87 |url=https://www.researchgate.net/publication/220498837 |access-date=4 September 2023}}</ref> This allowed higher performance for the large System/360 models, and reduced cost for the small ones. The authors were aware of the potential for precision loss, but assumed that this would not be significant for 64-bit floating-point variables. Unfortunately, the designers seem not to have been aware of [[Benford's Law]] which means that a large proportion of numbers will suffer reduced precision. The book "Computer Architecture" by two of the System/360 architects quotes Sweeney's study of 1958-65 which showed that using a base greater than 2 greatly reduced the number of shifts required for alignment and normalisation, in particular the number of ''different'' shifts needed. They used a larger base to make the implementations run faster, and the choice of base 16 was natural given 8-bit bytes. The intention was that 32-bit floats would only be used for calculations that would not propagate rounding errors, and 64-bit double precision would be used for all scientific and engineering calculations. The initial implementation of double precision lacked a guard digit to allow proper rounding, but this was changed soon after the first customer deliveries.<ref>{{cite book |last1=Blaauw |first1=Gerrit A. |last2=Brooks |first2=Frederick P. |title=Computer Architecture |date=1997 |publisher=Addison-Weslet |location=Reading, Massachusetts |isbn=0-201-10557-8 |edition=1st }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)