Функция получения числа с плавающей запятой (float) по четырем байтам
a_fl = floatfrombytes(b_int);
b_int – четыре байта, представленные в виде целого числа.
floatfrombytes – функция позволяет получить число float, согласно стандарту IEEE-754, из целого числа b_int полученного путем "склеивания" четырех байтов данных. Для этого могут использоваться операции включения битов (or) и побитового сдвига (shl, shr).
Функция возвращает вещественно число, соответствующее типу single в стандарте IEEE-754.
var d:integer,d1:integer,d2:integer,d3:integer, a1:integer,a2:integer,a3:integer,a4:integer; a1 = 195; //1100 0011 старший байт a2 = 65; //0100 0001 a3 = 255; //1111 1111 a4 = 255; //1111 1111 младший байт d1 = a1 shl 8; //берем старший байт и освобождаем место для более младшего d = d1 or a2; //включаем более младшие биты и т.д. d2 = d shl 8; d = d2 or a3; d3 = d shl 8; d = d3 or a4; //итоговое число типа integer a_fl = floatfrombytes(d);
В результате выполнения скрипта происходит формирование числа типа integer из четырех байтов данных, после чего из данного числа происходит формирование числа типа float.