Problems with Test
cdavis at mymail.mines.edu
Sun Oct 31 22:30:25 CDT 2010
On 10/31/10 9:23 PM, James McKenzie wrote:
> I'm trying to convert one integer number using a float number factor.
> Here is the code:
> int ry = 125;
> double ryf;
> ryf = ry/1440;
> The result is 0 and should be 0.06666666667 (or even more sixes.)
And why should it be? None of the values in the expression 'ry/1440' are
of type 'double'. They're both 'int's, so the compiler sees it as
integer division instead of FP division. The C language spec doesn't
require the compiler to infer that you wanted FP division when you
assign to a variable of FP type.
> What am I doing 'incorrectly'?
Now, if your assignment looked like this:
ryf = ry/1440.0;
then it would work correctly. Now the 1440 is of type 'double', so the
compiler emits a floating-point division.
More information about the wine-devel