From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00,INVALID_MSGID, PLING_QUERY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,4873305131bf4d94 X-Google-Attributes: gid109fba,public X-Google-Thread: fdb77,4873305131bf4d94 X-Google-Attributes: gidfdb77,public X-Google-Thread: 103376,4873305131bf4d94 X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,4873305131bf4d94 X-Google-Attributes: gid1014db,public From: kaz@helios.crest.nt.com (Kaz Kylheku) Subject: Re: How big is an int? (was: Yet another stupid language war (was: ... the only languages you need!!)) Date: 1997/11/06 Message-ID: <63snhv$i18$1@helios.crest.nt.com>#1/1 X-Deja-AN: 287437833 References: <34557f2b.1934172@news.mindspring.com> <63qkp9$bqr$3@darla.visi.com> <63r2sv$rgm$1@helios.crest.nt.com> <63rasf$1ug$1@darla.visi.com> Organization: A poorly-installed InterNetNews site Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.lang.java.advocacy,comp.lang.c,comp.lang.c++ Date: 1997-11-06T00:00:00+00:00 List-Id: In article <63rasf$1ug$1@darla.visi.com>, Peter Seebach wrote: >In article <63r2sv$rgm$1@helios.crest.nt.com>, >Kaz Kylheku wrote: >>But it cannot be a conforming hosted implementation, as I pointed out >>in the other article, because the getc() and putc() functions require >>the int type to represent everything in the range of 0 to UCHAR_MAX, >>plus the extra value EOF. It therefore follows that a hosted implementation >>requires the additional requirement: > >> char < int > >>This sort of thing would be good subject matter for a C-language version of >>Trivial Pursuit. > >I don't think anything is broken by an implementation which has unsigned >char values which are negative when converted to int. > >Typically, such implementations would only return smallish positive >values, or EOF, from getchar(), so it doesn't matter... But what if all the negative values are required to represent data, leaving no room for EOF? This is the case if an int is one byte wide. The int is N bits wide and has to represent 2^N different byte values. That leaves no possible room for the representation of EOF. -- "In My Egotistical Opinion, most people's C programs should be indented six feet downward and covered with dirt." -- Blair P. Houghton