Thesignificand[1] (alsocoefficient,[1] sometimesargument,[2] or more ambiguouslymantissa,[3]fraction,[4][5][nb 1] orcharacteristic[6][3]) is the first (left) part of a number inscientific notation or related concepts infloating-point representation, consisting of itssignificant digits. For negative numbers, it does not include the initial minus sign.
Depending on the interpretation of theexponent, the significand may represent aninteger or afractional number, which may cause the term "mantissa" to be misleading, sincethemantissa of a logarithm is always its fractional part.[7][8] Although the other names mentioned are common,significand is the word used byIEEE 754, an important technical standard for floating-point arithmetic.[9] Inmathematics, the term "argument" may also be ambiguous, since "the argument of a number" sometimes refers to the length of a circular arc from1 to a number on theunit circle in thecomplex plane.[10]
The number 123.45 can be represented as adecimal floating-point number with the integer 12345 as the significand and a 10−2 power term, also calledcharacteristics,[11][12][13] where −2 is the exponent (and 10 is the base). Its value is given by the following arithmetic:
This same value can also be represented inscientific notation with the significand 1.2345 as a fractional coefficient, and +2 as the exponent (and 10 as the base):
Schmid, however, called this representation with a significand ranging between 1.0 and 10 amodified normalized form.[12][13]
For base 2, this 1.xxxx form is also called anormalized significand.
Finally, the value can be represented in the format given by theLanguage Independent Arithmetic standard and several programming language standards, includingAda,C,Fortran andModula-2, as
Schmid called this representation with a significand ranging between 0.1 and 1.0 thetrue normalized form.[12][13]
For anormalized number, the most significant digit is always non-zero. When working inbinary, this constraint uniquely determines this digit to always be 1. As such, it is not explicitly stored, being called thehidden bit.
The significand is characterized by its width in(binary) digits, and depending on the context, the hidden bit may or may not be counted toward the width. For example, the sameIEEE 754double-precision format is commonly described as having either a 53-bit significand, including the hidden bit, or a 52-bit significand,[citation needed] excluding the hidden bit. IEEE 754 defines the precisionp to be the number of digits in the significand, including any implicit leading bit (e.g.,p = 53 for the double-precision format), thus in a way independent from the encoding, and the term to express what is encoded (that is, the significand without its leading bit) istrailing significand field.
In 1914,Leonardo Torres Quevedo introducedfloating-point arithmetic in hisEssays on Automatics,[14] where he proposed the formatn;m, showing the need for a fixed-sized significand as currently used for floating-point data.[15]
In 1946,Arthur Burks used the termsmantissa andcharacteristic to describe the two parts of a floating-point number (Burks[11]et al.) by analogy with the then-prevalentcommon logarithm tables: thecharacteristic is the integer part of the logarithm (i.e. the exponent), and themantissa is the fractional part. The usage remains common amongcomputer scientists today.
The termsignificand was introduced byGeorge Forsythe andCleve Moler in 1967[16][17][18][5] and is the word used in the IEEE standard[19] as the coefficient in front of a scientific notation number discussed above. The fractional part is called thefraction.
To understand both terms, notice that in binary, 1 + mantissa ≈ significand, and the correspondence is exact when storing a power of two. This fact allows for a fast approximation of the base-2 logarithm, leading to algorithms e.g. for computing thefast square-root andfast inverse-square-root. The implicit leading 1 is nothing but the hidden bit in IEEE 754 floating point, and the bitfield storing the remainder is thus themantissa.
However, whether or not the implicit 1 is included is a major point of confusion with both terms—and especially so withmantissa. In keeping with the original usage in the context of log tables, it should not be present.
For those contexts where 1 is considered included,William Kahan,[1] lead creator of IEEE 754, andDonald E. Knuth, prominent computer programmer and author ofThe Art of Computer Programming,[6] condemn the use ofmantissa. This has led to declining use of the termmantissa inall contexts. In particular, the current IEEE 754 standard does not mention it.
[…]m is the significand or coefficient or (wrongly) mantissa […](8 pages)
[…] Infloating-point representation, a numberx is represented by two signed numbersm ande such thatx =m ·be wherem is themantissa,e theexponent andb thebase. […] The mantissa is sometimes termed the characteristic and a version of the exponent also has this title from some authors. It is hoped that the terms here will be unambiguous. […] [w]e use a[n exponent] value which is shifted by half the binary range of the number. […] This special form is sometimes referred to as abiased exponent, since it is the conventional value plus a constant. Some authors have called it a characteristic, but this term should not be used, sinceCDC and others use this term for the mantissa. It is also referred to as an 'excess -' representation, where, for example, - is 64 for a 7-bit exponent (27−1 = 64). […](NB. Gosling does not mention the term significand at all.)
[…] Other names are occasionally used for this purpose, notably 'characteristic' and 'mantissa'; but it is an abuse of terminology to call the fraction part a mantissa, since that term has quite a different meaning in connection with logarithms. Furthermore the English word mantissa means 'a worthless addition.' […]
[…] Several of the digital computers being built or planned in this country and England are to contain a so-called "floating decimal point". This is a mechanism for expressing each word as acharacteristic and amantissa—e.g. 123.45 would be carried in the machine as (0.12345,03), where the 3 is the exponent of 10 associated with the number. […]
[…] This term was introduced byForsythe andMoler [1967], and has generally replaced the older termmantissa. […](NB. A newer edited version can be found here:[1])