Problems with Test

Charles Davis cdavis at mymail.mines.edu
Sun Oct 31 22:30:25 CDT 2010


On 10/31/10 9:23 PM, James McKenzie wrote:
> All:
> 
> 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.

Chip



More information about the wine-devel mailing list