Функция преобразования действительного числа в формате IEEE754 в real.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
FUNCTION "IEEE754" : Real VAR_INPUT arg : DWord; END_VAR VAR_TEMP M : DWord; E : Byte; S : Byte; END_VAR BEGIN #S:= SHR(IN:=#arg,N:=31);//Выделение бита знака #E := SHR(IN := SHL(IN := #arg, N := 1), N := 24);//Выделение смещенной экспоненты #M := SHR(IN := SHL(IN := #arg, N := 9), N := 9);//Выделение остатка от мантиссы #IEEE754 := (-1) ** #S * 2 ** (#E - 127) * (1 + #M /2**23); END_FUNCTION |