Float: Difference between revisions
From Avisynth wiki
Jump to navigationJump to search
Created page with "Float (or fully IEEE floating point with single precision) is one of the samples types of AviSynth's audio. For a converter see [http://www.h-schmidt.net/FloatConverter/IEEE75..." |
No edit summary |
||
| Line 13: | Line 13: | ||
Examples: | Examples: | ||
0x3F800000 = 00111111100000000000000000000000 (binary, see [http://easycalculation.]com/hex-converter.php | 0x3F800000 = 00111111100000000000000000000000 (binary, see [http://easycalculation.]com/hex-converter.php] | ||
Sign Bit Exp 1.Mantissa | Sign Bit Exp 1.Mantissa | ||
Revision as of 00:45, 24 June 2014
Float (or fully IEEE floating point with single precision) is one of the samples types of AviSynth's audio. For a converter see here.
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).
Examples:
0x3F800000 = 00111111100000000000000000000000 (binary, see [1]com/hex-converter.php] 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: [2]