Problems with Test

James Mckenzie jjmckenzie51 at earthlink.net
Mon Nov 1 09:26:44 CDT 2010


Charles Davis <cdavis at mymail.mines.edu> wrote:
>
>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.

Ah, the wonders of 'c'.  Thank you for the reminder that this is what happens during this division process.  Been a long time since I've tried this.
>
>> 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.
>
Got it.  I tried to cast ry to double, but that did not work.  Guess my version of gcc has a problem or I did it wrong.

Will try changing the division this evening and see what happens.

James McKenzie




More information about the wine-devel mailing list