|Subject:||RE: [avr-gcc-list] 24 bit Integer|
|Date:||Wed, 30 Jul 2008 11:36:24 -0400|
> 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.
Time for vacation? WIN what you need. Enter Now!
|[Prev in Thread]||Current Thread||[Next in Thread]|