long_int vs int byte sizes
Corinna Vinschen
corinna-cygwin@cygwin.com
Mon Apr 7 08:47:00 GMT 2014
On Apr 6 16:35, sisyphus1@optusnet.com.au wrote:
> -----Original Message----- From: Joseph Maxwell
>
> >[quote]
> >int x = 0xAB78 in decimal format is : 43896
> >and
> >unsigned int y = 0xAB78 in decimal format is : 43896
> >The size of int is 4 bytes
> >[/quote]
> >
> >Not quite what I expected, sine the leftmost bit in 'int' is 1 and
> >would be the negative flag.
>
> No - the full 32-bit representation of 0xAB78 is:
>
> 0000 0000 0000 0000 1010 1011 0111 1000
>
> The leftmost bit is zero.
>
>
> >Note size of int and long int are the same both are 4 bytes long
> >
> >Is this to be expected?
>
> I think so. I've not yet struck a case on Windows where either int
> or long are not 4 bytes. (Haven't tried Cygwin64.)
On x86_64 Cygwin, sizeof (long) == 8. See
http://cygwin.com/faq/faq.html#faq.programming.64bitporting
> Certainly, on some other systems, int is 4 bytes and long is 8 bytes.
> The standards permit both configurations.
There's no standard which restricts the sizes of the datatypes in
that way. There's only this rule to follow:
sizeof (char) <= sizeof (short) <= sizeof (int) <= sizeof (long)
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20140407/f2d4a038/attachment.sig>
More information about the Cygwin
mailing list