unsigned long long int with os-x
Segher Boessenkool
segher@koffie.nl
Sun Oct 13 17:06:00 GMT 2002
Nicholas Strauss wrote:
>
> Hi,
>
> I'm trying to use gcc in darwin os-x. I've written the following piece of code:
>
> int main(int argc, char *argv[])
> {
> unsigned long long int u;
>
> u = 1<<63;
This is the int 1 shifted by 63 bits to the left; that's "undefined behaviour"
by the C standard (and will probably result in 0).
Write
u = 1LL << 63;
instead.
> printf("u: %ld uu: %ld\n", u, u-1);
> printf("maxint %ld\n", INT64_MAX);
> }
>
> What compiler/linker options should I use with gcc?
No special options are needed. But try out -Wall and -W.
> What format should I use with printf?
"%lld" if I remember correctly.
Have fun,
Segher
More information about the Gcc-help
mailing list