Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   float(dec) to float (https://javascript.ru/forum/misc/48334-float-dec-float.html)

MishaUA 29.06.2014 23:34

float(dec) to float
 
Есть устройств, которое передает данные по протоколу MODBUS. Каждое значение записано в 16 битном числе. Если это без знаковое значение, тогда проблем не возникает, так как значение сразу приходит с том же виде, в котором нужно. Но если значение с плавающей точкой, то оно тоже приходит в десятичном формате и его как то надо преобразовать в float.
На С++ я бы сделал так:
union {
float f;
unsigned short int i;
} v;

unsigned short int inputValue = 16384; // входящее значение
v.i = inputValue;
float outputValue = v.f; // получаем выходящее значение

Как сделать такое же на JavaScripts?

Aetae 30.06.2014 00:27

В современных браузерах так:
var outputValue = new Float32Array( new Uint32Array( [ inputValue ] ).buffer )[0];

В старых - придётся вспомнить как вручную байтики перекладывать.)


Часовой пояс GMT +3, время: 19:41.