comp.lang.ada
 help / color / mirror / Atom feed
From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
Subject: Re: Zeller's Algorithm
Date: Wed, 31 Jul 2002 20:15:21 GMT
Date: 2002-07-31T20:15:21+00:00	[thread overview]
Message-ID: <tzX19.138$IH2.98@nwrddc01.gnilink.net> (raw)
In-Reply-To: 1028145549.13341@master.nyc.kbcfp.com

"Hyman Rosen" <hyrosen@mail.com> wrote in message
news:1028145549.13341@master.nyc.kbcfp.com...
> No. It is required in C or C++ that for non-zero b,
> a / b * b + a % b == a
>
> When division rounds towards zero, as is usually desired
> (the C++ standard claims that this is what the Fortran
> standard requires), this forces the remainder operation
> to return negative results. Eg., we want -3 / 2 == -1,
> so we must have -3 % 2 == -1 for the requirement to hold.

You're absolute right, but with the caveat that the C standard does not
require that integer division round to zero. It is acceptable for a C
implementation to round to minus infinity, in which case (-3) / 2 == -2 and
therefore (-3) % 2 == 1.

This decision on the part of the C Standards committee is most unfortunate,
since as Mr. Rosen correctly indicates, virtually all platforms round to
zero. Life could have been made simpler for C programmers if this was
required for all implementations, but apparently there was some platform,
with politically powerful allies, that did not round to zero.





  reply	other threads:[~2002-07-31 20:15 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-23 23:56 Zeller's Algorithm Paul A Storm
2002-07-24  7:59 ` Thomas Wolf
2002-07-24 21:30   ` Paul A Storm
2002-07-29  8:29     ` Thomas Wolf
2002-07-30  4:35       ` Robert Dewar
2002-07-30  8:20         ` Thomas Wolf
2002-07-30 17:17 ` Rick Maffei
2002-07-30 22:10   ` Paul A Storm
2002-07-31 10:51     ` Thomas Wolf
2002-07-31 14:33       ` Frank J. Lhota
2002-07-31 19:13         ` Robert A Duff
2002-07-31 19:26           ` Darren New
2002-07-31 20:01             ` Hyman Rosen
2002-07-31 20:15               ` Frank J. Lhota [this message]
2002-07-31 21:08               ` Robert A Duff
2002-07-31 22:34                 ` Hyman Rosen
2002-07-31 22:57                   ` Robert A Duff
2002-08-01 15:17                     ` Hyman Rosen
2002-08-01 16:41                       ` Frank J. Lhota
2002-07-31 21:15               ` Dan Nagle
2002-07-31 22:36                 ` Hyman Rosen
2002-07-31 22:23         ` Matthew Woodcraft
2002-08-02  7:21         ` Thomas Wolf
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox