noeska

01-09-2009, 05:42 PM

System: XP pro on virtualbox

Compiler\IDE: fpc 2.2.4

API: OpenGLes (mbx lite)

I am trying to convert floating point values to integer. I need that because i need to support hardware that does not support floating point values.

For now i use the following function:

function f2vt(value: single): integer;

var

temp: integer;

begin

temp := integer( single(value) * single(65535));

writeln(integer(temp));

result := integer(temp);

end;

But the results are all wrong for negative numbers.

if i feed -0.4 i get: -2147457434 (i expected -26214)

if i feed 0.4 i get: 26214 (correct)

Compiler\IDE: fpc 2.2.4

API: OpenGLes (mbx lite)

I am trying to convert floating point values to integer. I need that because i need to support hardware that does not support floating point values.

For now i use the following function:

function f2vt(value: single): integer;

var

temp: integer;

begin

temp := integer( single(value) * single(65535));

writeln(integer(temp));

result := integer(temp);

end;

But the results are all wrong for negative numbers.

if i feed -0.4 i get: -2147457434 (i expected -26214)

if i feed 0.4 i get: 26214 (correct)