In a message dated 2/25/00 10:08:31 PM Eastern Standard Time,
[EMAIL PROTECTED] writes:
> So, when the compiler sees
> (Long) 10 * 3600
> it multiplies an int 10 by an int 3600, then casts the result to a
> long. Unfortunately, the 10 * 3600 = 36000, which is too large for an
> int. The result is a (silent) math overflow. All you're doing is
> casting the wrong value to a long!
>
> If you want to override the compiler's default interpretation of
> literals, you have to tell it. Append an 'L' to a literal to make the
> compiler interpret it as long:
> long result;
> result = 10L * 3600L;
I politely disagree.
(Long) 10 * 3600 will typecast 10 into a 32-bit value before doing the
computation. Hence the result will be the same 32-bit value that you get by
using 10L.
-Pete
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palm.com/devzone/mailinglists.html