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? |
В современных браузерах так:
var outputValue = new Float32Array( new Uint32Array( [ inputValue ] ).buffer )[0]; В старых - придётся вспомнить как вручную байтики перекладывать.) |
Часовой пояс GMT +3, время: 23:26. |