Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-06-09 13:39:19


Rob Stewart <stewart_at_[hidden]> writes:

> From: Martin Bonner <martin.bonner_at_[hidden]>
>> David Abrahams <dave_at_[hidden]> writes:
>> > Rob Stewart <stewart_at_[hidden]> writes:
>> >> AFAIK, the only thing you can say about the size of int is that
>> >> it must handle the INT_MIN to INT_MAX range on a given platform
>> >> and the only thing you can say about short is that it is no
>> >> bigger than int and at least one byte.
>> >> Have I missed something that requires both to be at least 16
>> >> bits?
>>
>> > Yes.
>>
>> That's a bit gnomic.
>
> Indeed.

Sorry, it was a bit too short. What I meant was "it's in the
standard; you can look it up as well as I can and I don't have time
right now." But I guess I was wrong about that.

>> What you have missed Rob is that the standard requires SHRT_MIN <= -32767
>> and SHRT_MAX >= 32767. That implies short must have at least 16 bits.
>>
>> There is a similar requirement on long that means it must be at least 32
>> bits.
>
> Thanks for jumping in, but where is that in the standard? I have
> ISO/IEC 14882, 1st ed. What should I have?

It's in the 'C' standard, which is incorporated by reference into the
C++ standard. I don't know where it is in C90, but in C99 it's in
5.2.4.2.1

HTH,

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk