Float
From Avisynth wiki
(Difference between revisions)
(typo) |
Raffriff42 (Talk | contribs) (link to alternate uses of Float; formatting) |
||
Line 1: | Line 1: | ||
− | Float (or fully IEEE floating point with single precision) is one of the | + | ''This page is about the ''Float ''audio format''. ''For the variable type, see [[Script_variables]]''. ''For the'' <code>Float()</code> ''function, go to [[Internal_functions#Float]]'' |
+ | |||
+ | |||
+ | '''Float''' (or fully IEEE floating point with single precision) is one of the [[ConvertAudio|AviSynth audio sample formats]]. | ||
The samples of this type have values between -1.00000 (= 0xBF800000) and 1.000000 (= 0x3F800000). | The samples of this type have values between -1.00000 (= 0xBF800000) and 1.000000 (= 0x3F800000). | ||
Line 5: | Line 8: | ||
The value of such a IEEE-754 number is computed as: sign * 2^exponent * 1.mantissa, using the following scheme: | The value of such a IEEE-754 number is computed as: sign * 2^exponent * 1.mantissa, using the following scheme: | ||
− | [ 1 Sign Bit | 8 Bit Exponent | 23 Bit Mantissa ] | + | <code>[ 1 Sign Bit | 8 Bit Exponent | 23 Bit Mantissa ]</code> |
* The sign bit is 1 (negative) or 0 (positive). | * The sign bit is 1 (negative) or 0 (positive). | ||
* The exponent runs from -127 (00000000) to 0 (0111111) to 128 (11111111). | * The exponent runs from -127 (00000000) to 0 (0111111) to 128 (11111111). | ||
* The mantissa m1m2m3 ... means m1/2 + m2/4 + m3/8 + ... in decimal. Sometimes people denote "1.m1m2m3..." as the mantissa (like is done in the converter above). | * The mantissa m1m2m3 ... means m1/2 + m2/4 + m3/8 + ... in decimal. Sometimes people denote "1.m1m2m3..." as the mantissa (like is done in the converter above). | ||
+ | |||
+ | For an on-line converter between decimal numbers and IEEE 754 floating point, see [http://www.h-schmidt.net/FloatConverter/IEEE754.html here]. | ||
Examples: | Examples: | ||
Line 33: | Line 38: | ||
Sign bit is negative, exponent = 0, 1.mantissa = 1, so the number is -1.0 | Sign bit is negative, exponent = 0, 1.mantissa = 1, so the number is -1.0 | ||
− | source: [http://www.opferman.net/Text/ieee.txt] | + | source: [http://www.opferman.net/Text/ieee.txt opferman.net] |
[[Category:Glossary]] | [[Category:Glossary]] |
Revision as of 18:29, 17 September 2014
This page is about the Float audio format. For the variable type, see Script_variables. For the Float()
function, go to Internal_functions#Float
Float (or fully IEEE floating point with single precision) is one of the AviSynth audio sample formats.
The samples of this type have values between -1.00000 (= 0xBF800000) and 1.000000 (= 0x3F800000).
The value of such a IEEE-754 number is computed as: sign * 2^exponent * 1.mantissa, using the following scheme:
[ 1 Sign Bit | 8 Bit Exponent | 23 Bit Mantissa ]
- The sign bit is 1 (negative) or 0 (positive).
- The exponent runs from -127 (00000000) to 0 (0111111) to 128 (11111111).
- The mantissa m1m2m3 ... means m1/2 + m2/4 + m3/8 + ... in decimal. Sometimes people denote "1.m1m2m3..." as the mantissa (like is done in the converter above).
For an on-line converter between decimal numbers and IEEE 754 floating point, see here.
Examples:
0x3F800000 = 00111111100000000000000000000000 (binary, see [1]) Sign Bit Exp 1.Mantissa 0 01111111 00000000000000000000000 127 - 127 = 0 1.0 bitshift 0 places Sign bit is positive, exponent = 0, 1.mantissa = 1, so the number is +1.0
and
0xBF800000 = 10111111100000000000000000000000 Sign Bit Exp 1.Mantissa 1 01111111 00000000000000000000000 127 - 127 = 0 1.0 bitshift 0 places Sign bit is negative, exponent = 0, 1.mantissa = 1, so the number is -1.0
source: opferman.net