Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch Newsgroups: comp.lang.c Subject: Re: Prioritize Performance over Correctness Date: Fri, 18 Sep 2026 08:14:25 -0700 Organization: A noiseless patient Spider Lines: 35 Message-ID: <86zexetwvi.fsf@linuxsc.com> References: <113sjg8$3k0q6$1@dont-email.me> <113u16u$6bo3$1@kst.eternal-september.org> <113u27c$6bo3$2@kst.eternal-september.org> <113u3j5$7cq1$1@kst.eternal-september.org> <113v3u3$gi3r$1@dont-email.me> <1142oc0$14b1e$1@paganini.bofh.team> <1147mnu$37r54$1@dont-email.me> <1148d9b$3fv8p$1@kst.eternal-september.org> <1148fp9$3gt3k$2@dont-email.me> <1148hm4$3hsla$1@dont-email.me> <1148ldb$3ij1h$1@kst.eternal-september.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Date: Fri, 18 Sep 2026 15:14:26 +0000 (UTC) Injection-Info: dont-email.me; logging-data="1476949"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Mmqv8+SoABxKGIZ2Qnis9Ad1pWhyjYTs="; posting-host="742ba13f59dd80260e7d5d77f8995b11" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:QAjXLdnAsNLHIFE8tyyR5WXErlg= sha1:ILM2awc/cRNuIH8Jc8WYv4RgIBU= sha256:px8gQnXVC2zXw0O/CsGmQ3AgvnBCRfX+OMacAOyAy7k= sha1:o3C2Evegx7tBlUkKWNPKj6CmirA= sha256:8tJbd5KnjgkAdxnxrbmlavkMOuXM9oHSc2Zj80iUWMc= Xref: csiph.com comp.lang.c:402230 dave_thompson_2@comcast.net writes: > On Tue, 28 Jul 2026 01:18:11 GMT, scott@slp53.sl.home (Scott Lurndal) > wrote: > >> Keith Thompson writes: >> >>> James Kuyper writes: > > ... > >>>> I asked Google Gemini "Which implementations of C implement a null >>>> pointer whose representation is not 0?", and it identified 5 ... >> >> I'll add a sixth; while we looked at doing a C compiler, >> it didn't get any traction from customers >> >> - Burroughs Medium Systems (hardware nulptr = 0xEEEEEE) >> The architecture featured an instruction to search linked >> lists (SLT) and the hardware recognized the base offset >> 0xEEEEEE as the NIL pointer. It was a BCD architecture >> addressed to the digit (nibble). > > BCD should have been a much bigger problem than nullptr. Everything > since C89 has required 'pure binary (magnitude)' for integer types, > and effectively a binary fraction for FP. [...] That's right about integer types, but the C standard admits radix 10 (or most other bases, within reason) for floating point. So the floating point types could have both a decimal exponent and a decimal fraction in their representations. Of course converting such representations to an integer type would be a PITA, but then no sensible programmer wants their code to do such things anyway. ;)