Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <87zfu8idtc.fsf@nosuchdomain.example.com>
Deutsch   English   Français   Italiano  
<87zfu8idtc.fsf@nosuchdomain.example.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Keith Thompson <Keith.S.Thompson+u@gmail.com>
Newsgroups: comp.lang.c
Subject: Re: remark on defining size of basic types
Date: Thu, 04 Apr 2024 22:22:23 -0700
Organization: None to speak of
Lines: 50
Message-ID: <87zfu8idtc.fsf@nosuchdomain.example.com>
References: <uukp2q$2v3$1@i2pn2.org> <uukrfp$7l0f$2@dont-email.me>
	<uul0q6$c4i$1@i2pn2.org> <uul461$d88r$1@dont-email.me>
	<uum354$1l27$1@i2pn2.org> <uum95f$lr8o$1@dont-email.me>
	<uumiu8$o78i$1@dont-email.me> <20240404200454.00003811@yahoo.com>
	<uunvah$15vot$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Fri, 05 Apr 2024 05:22:27 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="fec0c29a47b22dfbebf6304061a8ab80";
	logging-data="1264067"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/WB6QesRHNr+3QWtYIDl+2"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Cancel-Lock: sha1:f6LzwomdmGfkjriTIaIo0PbszQ8=
	sha1:/YBvPGbRquxU/EWrjac8/KHNWv0=
Bytes: 3173

James Kuyper <jameskuyper@alumni.caltech.edu> writes:
> On 4/4/24 13:04, Michael S wrote:
>> On Thu, 4 Apr 2024 12:02:16 -0400
>> James Kuyper <jameskuyper@alumni.caltech.edu> wrote:
>> 
>>> On 4/4/24 09:15, Janis Papanagnou wrote:
>>> ...
>>>> Since I remember C had always just defined a '<=' (or '>=') relation
>>>> between the unsized basic integral data types.  
> ...
>> He meant sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long
>> long)
>
> That's not actually the case. In the above, you are not using <= as the
> C operator, but simply to indicate relative order over multiple items; I
> will do the same. What is specified is equivalent to the following
>
> LONGLONG_MIN <= LONG_MIN <= INT_MIN <= SHORT_MIN <= SCHAR_MAX
> SCHAR_MAX <= SHORT_MAX <= INT_MAX <= LONG_MAX <= LONGLONG_MAX
> UCHAR_MAX <= USHORT_MAX <= UINT_MAX <= ULONG_MAX <= ULONGLONG_MAX
>
> SCHAR_MAX <= UCHAR_MAX
> INT_MAX <= UINT_MAX
> LONG_MAX <= ULONG_MAX
> LONGLONG_MAX <= ULONGLONG_MAX

SHRT, not SHORT.
LLONG, not LONGLONG.

> The sizes are not required to be in the same order as the maximum
> values, nor in the opposite order of the minimum values. If they were in
> a different order, it would imply a lot of padding bits, which would be
> very odd, but not prohibited.

For completeness, the way it's described in the standard (quoting N3220
6.2.5p10-11) is :

    For any two integer types with the same signedness and different
    integer conversion rank (see 6.3.1.1), the range of values of the
    type with smaller integer conversion rank is a subrange of the
    values of the other type.

    The range of nonnegative values of a signed integer type is a
    subrange of the corresponding unsigned integer type, and the
    representation of the same value in each type is the same.

-- 
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Medtronic
void Void(void) { Void(); } /* The recursive call of the void */