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