SwfDotNet.IO.Utils.BufferedBinaryReader.ReadFloatWord C# (CSharp) Method

ReadFloatWord() public method

Reads the float word.
public ReadFloatWord ( uint mantissaSize, uint fractionSize ) : float
mantissaSize uint Size of the mantissa.
fractionSize uint Size of the fraction.
return float
        public float ReadFloatWord(uint mantissaSize, uint fractionSize)
        {
            int mantissa = 0;
            int fraction = 0;

            float value = 0;
            float divisor = (float)(1 << (int)fractionSize);

            fraction = (int)ReadUBits(fractionSize);
            mantissa = (int)ReadSBits(mantissaSize);

            mantissa <<= (int)fractionSize;
            value = (mantissa + fraction) / divisor;

            return value;
        }

Usage Example

Example #1
0
        /// <summary>
        /// Reads the data from a binary file
        /// </summary>
        /// <param name="binaryReader">Binary reader.</param>
        public void ReadData(BufferedBinaryReader binaryReader)
        {
            this.signature = binaryReader.ReadString(3);
            this.version = binaryReader.ReadByte();

            if (this.version > MAX_VERSION)
                throw new InvalidSwfVersionException(this.version, MAX_VERSION);

            this.fileSize = binaryReader.ReadUInt32();
            this.rect = new Rect();
            this.rect.ReadData(binaryReader);
            binaryReader.SynchBits();
            this.fps = binaryReader.ReadFloatWord(8, 8);
            this.frames = binaryReader.ReadUInt16();
        }