Related articles |
---|
[10 earlier articles] |
Re: Rounding with Div and Mod operators sofkam@rpi.edu (1999-05-20) |
Re: Rounding with Div and Mod operators drh@microsoft.com (Dave Hanson) (1999-05-20) |
Re: Rounding with Div and Mod operators anton@mips.complang.tuwien.ac.at (1999-05-20) |
Re: Rounding with Div and Mod operators peter.r.wilson@boeing.com (Peter Wilson) (1999-05-20) |
Re: Rounding with Div and Mod operators mfinney@lynchburg.net (1999-05-21) |
Re: Rounding with Div and Mod operators jmoore@softmoore.com (John I. Moore, Jr.) (1999-05-22) |
Re: Rounding with Div and Mod operators lassehp@imv.au.dk (1999-05-22) |
Re: Rounding with Div and Mod operators r_barton1@hotmail.com (Barton) (1999-05-22) |
Re: Rounding with Div and Mod operators r_barton1@hotmail.com (Barton) (1999-05-27) |
Re: Rounding with Div and Mod operators ucapjab@ucl.ac.uk (Jonathan Barker) (1999-05-27) |
From: | lassehp@imv.au.dk (Lasse =?ISO-8859-1?Q?Hiller=F8e?= Petersen) |
Newsgroups: | comp.compilers |
Date: | 22 May 1999 02:57:53 -0400 |
Organization: | Information & Media Science, University of Aarhus |
References: | 99-05-039 |
Keywords: | arithmetic |
>[This has been debated at length over the years, and I've found the
>argument to be similar to the byte order argument in that there are
>advantages and disadvantages to both, but none strong enough to tip
>the scales firmly in favor of one or the other. For what it's worth,
>Fortran 90 uses round toward zero. -John]
Ada has both a mod operator and a rem operator, probably because the
designers thought hard about this. Quoting from the language reference
manual <http://www.adaic.org/standards/83lrm/html/lrm-04-05.html#4.5.5>:+
>>Integer division and remainder are defined by the relation
A = (A/B)*B + (A rem B)
where (A rem B) has the sign of A and an absolute value less than the
absolute value of B. Integer division satisfies the identity
(-A)/B = -(A/B) = A/(-B)
The result of the modulus operation is such that (A mod B) has the sign of
B and an absolute value less than the absolute value of B; in addition,
for
some integer value N, this result must satisfy the relation
A = B*N + (A mod B)
<<
I guess a search in the literature around the development of Ada will
reveal some of the discussions leading to the inclusion of both mod and
rem.
-Lasse
Return to the
comp.compilers page.
Search the
comp.compilers archives again.