bytesToFloat function

double bytesToFloat(
  1. List<int> bytesData
)

Converts bytes to a floating-point number.

Implementation

double bytesToFloat(List<int> bytesData) {
  int intValue = 0;
  for (int i = 0; i < bytesData.length; i++) {
    intValue += bytesData[i] << (i * 8);
  }
  final int sign = (intValue & (1 << (8 * bytesData.length - 1))) != 0 ? -1 : 1;
  final int exponent = ((intValue >> 23) & 0xFF) - 127;
  final int mantissa = (intValue & 0x7FFFFF) | 0x800000;
  final num result = sign * mantissa * math.pow(2, exponent - 23);
  return result.toDouble();
}