Depends on whether the compiler implicitly promotes them to signed or unsigned integers.

The answer could change depending on whether your compiler treats 0x7fffffff and 0x80000000 as signed or unsigned integers.

I think most compilers would treat them as signed, but gcc might not. Also, in a 64 bit compiler, both would still be positive integers.

There was a guy I worked with at BEA that had a set of about 100 macros that would promote the values and test, and then dump out the compiler assumptions in a report. Very useful when you have to write portable code.

His name is David Tribble. I wonder where he is working now.

Glen