From:
address@hidden>
2008/7/14 Weddington, Eric <
address@hidden>:
>
> A 24-bit integer is not supported by the C language. In theory,
support
> > could be added to GCC, but then it would be considered an
extension to
> > the C language. And it would also be difficult
and/or time-consuming to
> > add to GCC.
>
> The C standard doesn't
dictate the size of any integer type, except that char
> must be large
enough to hold the environments standard character set and
> the size of
any larger types is ordered as you'd expect.
> char <= short <=
int <= long
Also that short and int must be able to represent
at least -32767 to +32767, and long must be able to represent
+/-2,147,483,647. So int24_t would have to be a special type outside the
standard types.
And I think (though I'm not certain) that it
would have to be promoted to long before any operator could be applied.
Some of that would be mitigated by the as-if rule, of course...
>
int is typically the natural word size for the architecture, but often on 8
bit
> micros it will be larger (since char typically provides an 8 bit
int anyway.)
It's larger because an 8 bits can't represent the required
range of values.
Regards,
-=Dave
Time for vacation? WIN what you need.
Enter Now! _______________________________________________
AVR-GCC-list
mailing list
address@hiddenhttp://lists.nongnu.org/mailman/listinfo/avr-gcc-list