From: "David A. Cobb" <COBB@V22BZ.NPT.NUWC.NAVY.MIL>
Subject: Modulus and Remainder operations (Was Re: Help with a bit of C code)
Date: Tue, 27 Sep 1994 10:40:30 -0400
Date: 1994-09-27T10:40:30-04:00 [thread overview]
Message-ID: <940927104030.20400d35@v22bz.npt.nuwc.navy.mil> (raw)
X-In-Reply-To: Mon, 26 Sep 1994 14:35:11 EDT <bruce@AIS.COM>
<quote>
Strictly speaking, the % operator in C is a REMAINDER operator, not a
MODULUS operator. This often seems to be a confusing point for a lot
of people, but the results are different for negative numbers (Try it
with, eg, PL/I, which uses the modulus function rather than the remainder
function). For example, these 3 languages give the following results:
</quote>
Ada, the language everyone loves to hate, has both but has the
decency to give both clear definitions. I assume the designers
talked to a mathamagician:
<quote>
A = (A/B)*B + (A rem B) where (A rem B) <e>has the sign of A</e>
and an absolute value less than B. ....
A = B*N + (A mod B), for some signed integer N, where (A mod B)
<e>has the sign of B</e> and an absolute value less than the
absolute value of B.
</quote>
Thus:
<pre>
A B A/B A rem B A mod B
12 5 2 2 2
-12 5 -2 -2 3
12 -5 -2 2 -3
-12 -5 -2 -2 -2
</pre>
next reply other threads:[~1994-09-27 14:40 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
1994-09-27 14:40 David A. Cobb [this message]
1994-09-28 13:56 ` Modulus and Remainder operations (Was Re: Help with a bit of C code) Robert Dewar
1994-09-29 9:04 ` Christopher Costello
1994-09-29 14:34 ` Norman H. Cohen
[not found] ` <1994Oct7.225248.6208@nosc.mil>
[not found] ` <1994Oct10.084630.19894@sei.cmu.edu>
[not found] ` <37bof4$ljl@gnat.cs.nyu.edu>
[not found] ` <37cigq$6e0@felix.seas.gwu.edu>
1994-10-11 14:42 ` Norman H. Cohen
[not found] ` <hbakerCxFK2p.4wp@netcom.com>
[not found] ` <1994Oct11.161048.1058@nosc.mil>
1994-10-11 20:06 ` Norman H. Cohen
1994-10-13 1:51 ` Henry G. Baker
1994-10-13 8:27 ` Magnus Kempe
1994-10-13 12:30 ` Robert Dewar
1994-10-14 15:45 ` Henry G. Baker
1994-10-14 22:11 ` Robert Dewar
1994-10-15 17:35 ` Tucker Taft
1994-10-13 10:38 ` Tucker Taft
1994-10-13 21:34 ` Norman H. Cohen
1994-10-14 15:39 ` Henry G. Baker
1994-10-14 22:56 ` David Weller
1994-10-16 1:25 ` Henry G. Baker
1994-10-13 18:13 ` Charles H. Sampson
1994-10-13 16:56 ` Robert I. Eachus
1994-10-13 20:59 ` Robert Dewar
1994-10-13 23:44 ` Bob Duff
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox