Разбор целочисленных битовых паттернов, когда IEEE 754 плавает в дротике - PullRequest
0 голосов
/ 26 марта 2019

Я получаю 4 байта данных через интерфейс (Bluetooth, Список). Данные представляют число с плавающей запятой IEEE 754 (например, 0x3fd0a3d7, что представляет приблизительно 1.63 как двоичный файл32 float)

Есть ли способ в dart lang конвертировать / type-pun это, чтобы плавать, а затем удваивать? Что-то вроде intBitsToFloat в Java. Не могу ничего найти. Или мне просто нужно самому написать IEEE 754?

1 Ответ

3 голосов
/ 26 марта 2019

Это работает, просто импортируйте библиотеку dart:typed_data:

  var bdata = ByteData(4);
  bdata.setInt32(0, 0x3fd0a3d7);
  print(bdata.getFloat32(0)); //Prints: 1.6299999952316284

(я не уверен, что это самый надежный способ)

...