This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Bamboozled by long long
- From: Gokhan Kisacikoglu <kisa at centropolisfx dot com>
- To: John Love-Jensen <eljay at adobe dot com>
- Cc: arijitg at uci dot edu, gcc-help at gcc dot gnu dot org
- Date: Fri, 19 Jul 2002 12:31:23 -0700
- Subject: Re: Bamboozled by long long
- Organization: Centropolis Effects, LLC
- References: <B95DCF4D.320A%eljay@adobe.com>
- Reply-to: kisa at centropolisfx dot com
> unsigned long long k=1;
> unsigned int i = 4;
> printf("The values are i: %d, , k: %LX, i+k: %LX \n", i,k , i+k);
> k = k + i;
> printf("The values are i: %d, , k: %LX, i+k: %LX \n", i,k , i+k);
>
> ...depending on the extension (or convention for long long) used.
>
> --Eljay
This is not correct, this will only work with double precision float
numbers. "long long" is really "long long int" and only ll should be
used. This is from the man page (on my system):
ll For n, the argument has type pointer to long long int; for
d
and i, long long int; and for o, u, x, and X, unsigned long
long int.
L For b, B, e, E, f, g, and G, the argument has type long
double.