Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: gah4 Newsgroups: comp.compilers Subject: Re: C arithmetic, was Software proofs, was Are there different Date: Wed, 8 Feb 2023 01:10:49 -0800 (PST) Organization: Compilers Central Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <23-02-032@comp.compilers> References: <23-01-092@comp.compilers> <23-02-003@comp.compilers> <23-02-019@comp.compilers> <23-02-025@comp.compilers> <23-02-026@comp.compilers> <23-02-029@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="11349"; mail-complaints-to="abuse@iecc.com" Keywords: arithmetic Posted-Date: 08 Feb 2023 11:48:20 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <23-02-029@comp.compilers> Xref: csiph.com comp.compilers:3373 On Tuesday, February 7, 2023 at 6:30:40 PM UTC-8, Hans-Peter Diettrich wrote: > On 2/6/23 10:26 PM, gah4 wrote: > > Too bad for those CDC computers, and Unisys computers. > > Last I know of sign-magnitude is the IBM 7090 and 7094. > AFAIK use IEEE-754 floating point numbers still sign-magnitude > representation. > Then the same representation of integral numbers may have advantages in > computations. > [I presume the sign-magnitude is to enable the hidden bit trick, > which doesn't apply in unscaled integers. -John] Yes, I meant integer representation. Well, I have been wondering for years when we get a C compiler for the 7090 so we can test out sign-magnitude integers. I think the 7090 does 16 bit integers, at least that is what its Fortran compilers did, stored in 36 bit words. As for floating point, the PDP-10 uses a two's complement floating point format. It does two's complement on the whole 36 bit word. The result is that fixed point compare instructions work on floating point values. [The 704x/709x series did 36 bit sign-magnitude arithmetic. Fortran integers were limited to 15 bits plus a sign, probably because that was the size of addresses, and they expected integer arithmetic to be used only for counting and subscripts. In 709 Fortran II they expanded them to 17 bits, in 7090 Fortran IV they were finally a full word. -John]