patternModerate
Is significand same as mantissa in IEEE754?
Viewed 0 times
mantissasamesignificandieee754
Problem
I'm trying to understand IEEE 754 floating point. when I try convert
Where
I did understand another bits like exponent and sign bit.
.3 if converted to binary it will be
So
0.3 = 0.010011001... in binary
Apply the scientific notation in binary:
So the exponent is
I will not talk about exponent bit and sign bit. Back to the my question, what is the difference of significand and mantissa?
0.3 from decimal to binary with online calculator, it said the significand value was 1.2Where
1.2 come from?I did understand another bits like exponent and sign bit.
.3 if converted to binary it will be
.3 * 2 = .6 + 0
.6 * 2 = .2 + 1
.2 * 2 = .4 + 0
.4 * 2 = .8 + 0
.8 * 2 = .6 + 1
...So
0.3 = 0.010011001... in binary
Apply the scientific notation in binary:
0.010011001 = 1.0011001 * 2 ^ (-2)So the exponent is
-2. And the normalized mantissa is 0011001...I will not talk about exponent bit and sign bit. Back to the my question, what is the difference of significand and mantissa?
Solution
They're used as synonyms in the context of floating point math, but "mantissa" is less correct mathematically.
It's fewer syllables, easier to type, and starts with a different letter than Sign or Exponent, so many people including myself still prefer it, despite what Kahan and Knuth have to say. (Also including Intel, in naming the AVX512 instruction
Either / both get used as names for the part that isn't the sign bit or the exponent field. Or the value represented by that field, as opposed to the bits of the encoding. Wikipedia's articles on single-precision binary32 (
Gilles's answer suggests that the two terms could make a distinction between the
For example, a single-precision
Wikipedia's Significand article describes the fact that they're used synonymously. But has a section at the end about why "mantissa" isn't quite the right mathematical meaning for FP math, since the significand is linear with only the exponent field being exponential. Unlike in earlier use of mantissa for log tables.
The significand (also mantissa or [other names]) is part of a number in scientific notation or in floating-point representation, consisting of its significant digits. Depending on the interpretation of the exponent, the significand may represent an integer or a fraction.
Terminology
The term significand was introduced by George Forsythe and Cleve Moler in 1967 and is the word used in the IEEE standard. However, in 1946 Arthur Burks used the terms mantissa and characteristic to describe the two parts of a floating-point number (Burks et al.) and that usage remains common among computer scientists today.
Mantissa and characteristic have long described the two parts of the logarithm found on tables of common logarithms. While the two meanings of exponent are analogous, the two meanings of mantissa are not equivalent. For this reason, the use of mantissa for significand is discouraged by some including the creator of the standard, William Kahan and prominent computer programmer and author of The Art of Computer Programming, Donald E. Knuth.
The confusion is because scientific notation and floating-point representation are log-linear, not logarithmic. To multiply two numbers, given their logarithms, one just adds the characteristic (integer part) and the mantissa (fractional part). By contrast, to multiply two floating-point numbers, one adds the exponent (which is logarithmic) and multiplies the significand (which is linear).
It's fewer syllables, easier to type, and starts with a different letter than Sign or Exponent, so many people including myself still prefer it, despite what Kahan and Knuth have to say. (Also including Intel, in naming the AVX512 instruction
vgetmantpd for example, as a partner for vgetexppd which are convenient for exp/log implementations.)Either / both get used as names for the part that isn't the sign bit or the exponent field. Or the value represented by that field, as opposed to the bits of the encoding. Wikipedia's articles on single-precision binary32 (
float), and double, and IEEE FP formats in general, are very good.Gilles's answer suggests that the two terms could make a distinction between the
1.x value represented vs. the bit-pattern or encoding, but I don't think that usage is common; I've never come across it.For example, a single-precision
binary32 FP converter (with a nice UI and display of the bits) names the field "Mantissa", and shows both the binary bit-pattern and the 1.x or 0.x value it represents (depending on the leading 1 or 0 implied by the exponent field for a normalized or subnormal float).Wikipedia's Significand article describes the fact that they're used synonymously. But has a section at the end about why "mantissa" isn't quite the right mathematical meaning for FP math, since the significand is linear with only the exponent field being exponential. Unlike in earlier use of mantissa for log tables.
The significand (also mantissa or [other names]) is part of a number in scientific notation or in floating-point representation, consisting of its significant digits. Depending on the interpretation of the exponent, the significand may represent an integer or a fraction.
Terminology
The term significand was introduced by George Forsythe and Cleve Moler in 1967 and is the word used in the IEEE standard. However, in 1946 Arthur Burks used the terms mantissa and characteristic to describe the two parts of a floating-point number (Burks et al.) and that usage remains common among computer scientists today.
Mantissa and characteristic have long described the two parts of the logarithm found on tables of common logarithms. While the two meanings of exponent are analogous, the two meanings of mantissa are not equivalent. For this reason, the use of mantissa for significand is discouraged by some including the creator of the standard, William Kahan and prominent computer programmer and author of The Art of Computer Programming, Donald E. Knuth.
The confusion is because scientific notation and floating-point representation are log-linear, not logarithmic. To multiply two numbers, given their logarithms, one just adds the characteristic (integer part) and the mantissa (fractional part). By contrast, to multiply two floating-point numbers, one adds the exponent (which is logarithmic) and multiplies the significand (which is linear).
Context
StackExchange Computer Science Q#152265, answer score: 10
Revisions (0)
No revisions yet.