//配列を単精度浮動小数点へ(その1) function ArrayToSingle(A1, A2, A3, A4: Byte): Single; var Data : Array[1..4] of byte; begin Data[1] := A1; Data[2] := A2; Data[3] := A3; Data[4] := A4; Result := Single(Data); end; //配列を単精度浮動小数点へ(その2) //usesにMathを追加すること。 //でも、わざわざこっちを使うことはない。 function ArrayToSingle(A1, A2, A3, A4: Byte): Single; var S: integer; E: Byte; F: Extended; begin if (A4 and $80)<>0 then S:=1 else S:=0; E:=(A4 shl 1) or (A3 shr 7); F:=(A3 shl 17) or (A2 shl 9) or (A1 shl 1); if ((00)) then begin Result:=Power(-1, S)*Power(2, -126)*(F/$0FFFFFF); end else if ((E=0) and (F=0)) then begin Result:=0; end else if ((E=255) and (F=0)) then begin Result:=Power(-1, S)*Ln(F); end else Result:=0; end;