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. ;)