Octuple-precision floating-point format: Difference between revisions

Content deleted Content added
Importing Wikidata short description: "256-bit computer number format" (Shortdesc helper)
m Reverted edit by 2A01:CB16:201A:C683:0:67:3AB1:9A01 (talk) to last version by Vincent Lefèvre
 
(20 intermediate revisions by 14 users not shown)
Line 1:
{{short description|256-bit computer number format}}
{{refimproveuse dmy dates|date=JuneDecember 20162022|cs1-dates=y}}
{{use list-defined references|date=December 2022}}
{{Floating-point}}
{{Computer architecture bit widths}}
In [[computing]], '''octuple precision''' is a binary [[floating-point]]-based [[computer number format]] that occupies 32 [[byte]]s (256 [[bit]]s) in computer memory. This 256-[[bit]] octuple precision is for applications requiring results in higher than [[quadruple precision]]. This format is rarely (if ever) used and very few environments support it.
 
The range greatly exceeds what is needed to describe all known physical limitations within the observable universe or precisions better than [[Planck units]].
== IEEE 754 octuple-precision binary floating-point format: binary256 ==
 
== IEEE 754 octuple-precision binary floating-point format: binary256 ==
In its 2008 revision, the [[IEEE 754]] standard specifies a '''binary256''' format among the ''interchange formats'' (it is not a basic format), as having:
* [[Sign bit]]: 1 bit
Line 20 ⟶ 22:
 
=== Exponent encoding ===
 
The octuple-precision binary floating-point exponent is encoded using an [[offset binary]] representation, with the zero offset being 262143; also known as exponent bias in the IEEE 754 standard.
 
Line 31 ⟶ 32:
The stored exponents 00000<sub>16</sub> and 7FFFF<sub>16</sub> are interpreted specially.
 
{| class="wikitable" style="text-align: center;"
|-
! Exponent !! Significand zero !! Significand non-zero !! Equation
|-
| 00000<sub>16</sub> || [[0 (number)|0]], [[−0]] || [[subnormal numbers]] || (-1−1)<sup>signbit</sup> × 2<sup>−262142</sup> × 0.significandbits<sub>2</sub>
|-
| 00001<sub>16</sub>, ..., 7FFFE<sub>16</sub> ||colspan=2| normalized value || (-1−1)<sup>signbit</sup> × 2<sup>exponent bits<sub>2</sub></sup> × 1.significandbits<sub>2</sub>
|-
| 7FFFF<sub>16</sub> || ±[[infinity|∞]] || [[NaN]] (quiet, signallingsignaling)
|}
 
Line 46 ⟶ 48:
 
=== Octuple-precision examples ===
 
These examples are given in bit ''representation'', in [[hexadecimal]],
of the floating-point value. This includes the sign, (biased) exponent, and significand.
Line 92 ⟶ 93:
So the bits beyond the rounding point are <code>0101...</code> which is less than 1/2 of a [[unit in the last place]].
 
== Implementations ==
Octuple precision is rarely implemented since usage of it is extremely rare. [[Apple Inc.]] had an implementation of addition, subtraction and multiplication of octuple-precision numbers with a 224-bit [[two's complement]] significand and a 32-bit exponent.<ref>{{cite web|urlname=http://images.apple.com/ca/acg/pdf/oct3a.pdf |title=Octuple-precision floating point on Apple G4 (archived copy on web.archive.org) |author1=R. "Crandall |author2=J. Papadopoulos |date=8 May 2002 |url-status=unfit |archiveurl=https:Papadopoulos_2002"//web.archive.org/web/20060728140052/http://images.apple.com/ca/acg/pdf/oct3a.pdf |archivedate=July 28, 2006 }}</ref> One can use general [[arbitrary-precision arithmetic]] libraries to obtain octuple (or higher) precision, but specialized octuple-precision implementations may achieve higher performance.
 
=== Hardware support ===
There is no known hardware implementationwith ofnative support for octuple precision.
 
== See also ==
* [[IEEE 754]]
* [[IEEE 754-2008|IEEE Standard for Floating-Point Arithmetic (IEEE 754)]]
* [[ISO/IEC 10967]], Language-independent arithmetic
* [[Primitive data type]]
* [[Scientific notation]]
 
== References ==
{{reflist}}|refs=
<ref name="Crandall-Papadopoulos_2002">{{cite web |title=Octuple-precision floating point on Apple G4 (archived copy on web.archive.org) |author-first1=Richard E. |author-last1=Crandall |author-link1=Richard E. Crandall |author-first2=Jason S. |author-last2=Papadopoulos |date=2002-05-08 |url=http://images.apple.com/ca/acg/pdf/oct3a.pdf |url-status=unfit |archive-url=https://web.archive.org/web/20060728140052/http://images.apple.com/ca/acg/pdf/oct3a.pdf |archive-date=2006-07-28}} (8 pages)</ref>
}}
 
== Further reading ==
* {{cite book |author-first=Nelson H. F. |author-last=Beebe |title=The Mathematical-Function Computation Handbook - Programming Using the MathCW Portable Software Library |date=2017-08-22 |___location=Salt Lake City, UT, USA |publisher=[[Springer International Publishing AG]] |edition=1 |lccn=2017947446 |isbn=978-3-319-64109-6 |doi=10.1007/978-3-319-64110-2 }}