From: David Starner <dvdeug@x8b4e53cd.dhcp.okstate.edu>
Subject: Re: Integers and Mathematical Correctness
Date: 1 Nov 2001 18:54:34 GMT
Date: 2001-11-01T18:54:34+00:00 [thread overview]
Message-ID: <9rs5pa$8201@news.cis.okstate.edu> (raw)
In-Reply-To: h8ZD7.46340$a14.5285167@news6-win.server.ntlworld.com
On Wed, 31 Oct 2001 20:27:16 -0000, chris.danx <chris.danx@ntlworld.com> wrote:
> To most this may seem insignificant but I'm more mathematically minded and I
> just found something out. Many programming languages don't implement
> division properly!
>
> For example -3/2 should be -2 not -1, with a remainder 1 not -1.
I guess this was a big deal in Forth, so "Forth, the New Model" covers
it in detail. (It's a nice book, and you can find it for pretty cheap.)
Basically, a division is correct if
dividend / divisor = quotient, modulus
implies that
(quotient * divisor) + modulus = dividend
But
(-2 * 2) + 1 = -3 = (-1 * 2) + -1.
The first is division floored to negative infinity, and the second is
division symmetric around zero, and either are valid. Forth-83 picked
the first, and Ada and Forth-79 picked the second. (ANSI Forth, being a
standard, cut the difference and offered operators for both.)
--
David Starner - dstarner98@aasaa.ofe.org
Pointless website: http://dvdeug.dhis.org
"I saw a daemon stare into my face, and an angel touch my breast; each
one softly calls my name . . . the daemon scares me less."
- "Disciple", Stuart Davis
next prev parent reply other threads:[~2001-11-01 18:54 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-31 20:27 Integers and Mathematical Correctness chris.danx
2001-10-31 21:21 ` David C. Hoos
2001-10-31 22:16 ` chris.danx
2001-10-31 22:47 ` David C. Hoos
2001-10-31 22:55 ` chris.danx
2001-10-31 23:16 ` Matthew Heaney
2001-10-31 21:42 ` Mark Johnson
2001-11-01 18:57 ` Mark Johnson
2001-11-01 14:32 ` Wes Groleau
2001-11-01 16:18 ` wilhelm.spickermann
2001-11-01 16:48 ` chris.danx
2001-11-01 15:45 ` Charles Sampson
2001-11-01 16:20 ` Marin David Condic
2001-11-03 17:02 ` Richard Riehle
2001-11-05 14:47 ` Marin David Condic
2001-11-06 3:53 ` Eric G. Miller
2001-11-06 4:28 ` James Rogers
2001-11-06 6:06 ` peter
2001-11-06 14:48 ` James Rogers
2001-11-06 15:54 ` Marin David Condic
2001-11-07 3:44 ` Eric G. Miller
2001-11-01 17:10 ` chris.danx
2001-11-01 17:52 ` Chad Robert Meiners
2001-11-01 19:02 ` chris.danx
2001-11-01 17:57 ` Wes Groleau
2001-11-03 14:57 ` Charles Sampson
2001-11-01 16:11 ` Charles Lindsey
2001-11-01 18:40 ` Wilhelm Spickermann
2001-11-01 19:18 ` chris.danx
2001-11-02 1:37 ` Steven Deller
2014-09-26 9:07 ` vincent.diemunsch
2014-09-26 16:38 ` Niklas Holsti
2014-09-26 16:58 ` AdaMagica
2014-09-26 17:51 ` Adam Beneschan
2014-09-27 9:01 ` AdaMagica
2014-09-27 10:15 ` AdaMagica
2014-09-27 16:32 ` Niklas Holsti
2014-09-27 16:49 ` Jeffrey Carter
2014-09-27 18:52 ` Niklas Holsti
2014-09-27 18:54 ` Adam Beneschan
2014-09-27 19:07 ` Adam Beneschan
[not found] ` <3489504a-f82b-4fec-8a6c-7cb91854dd1e@googlegroups.com>
2014-09-27 19:21 ` AdaMagica
2014-09-27 11:44 ` gautier_niouzes
2014-09-26 16:41 ` Adam Beneschan
2014-09-26 16:46 ` Adam Beneschan
2014-09-27 15:21 ` vincent.diemunsch
[not found] ` <34da5a39-9fa3-4e8e-a3f9-98f61a4ebcc7@googlegroups.com>
2014-09-28 7:47 ` Dmitry A. Kazakov
2014-09-29 14:58 ` Adam Beneschan
2014-09-29 16:25 ` Dmitry A. Kazakov
2014-10-01 19:48 ` vincent.diemunsch
2014-10-02 11:10 ` G.B.
2001-11-01 18:08 ` Tucker Taft
2001-11-01 18:54 ` David Starner [this message]
2001-11-01 21:44 ` Wilhelm Spickermann
2001-11-02 12:52 ` chris.danx
-- strict thread matches above, loose matches on Subject: below --
2001-10-31 22:42 Beard, Frank
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox