mod.std.c Digest V5#7
Orlando Sotomayor-Diaz
osd7 at homxa.UUCP
Mon Apr 22 02:24:25 AEST 1985
From: Orlando Sotomayor-Diaz (The Moderator) <cbosgd!std-c>
mod.std.c Digest Sun, 21 Apr 85 Volume 5 : Issue 7
Today's Topics:
#else JUNK
modulus, remainder, and %
----------------------------------------------------------------------
Date: Mon, 15 Apr 85 15:31:33 pst
From: nsc!turtlevax!ken at ihnp4.uucp (Ken Turkowski)
Subject: #else JUNK
To: ihnp4!cbosgd!mark at nsc.uucp
>A colleague of mine recently noted their sadness with the (November, 1984)
>draft standard's outlawing of source such as
> #ifdef VERBOSE
> printf("Hello, world.\n");
> #endif VERBOSE
>which, according to the draft, must have its last line changed to (for example)
> #endif /* VERBOSE */
>to be legal. Such code is now successfully dealt with on many systems.
The problem with this is that it removes the ability to structure pre-processor
directives. For example,
#ifdef VERBOSE
# ifdef DEBUG
# else !DEBUG
# endif DEBUG
#else !VERBOSE
#endif VERBOSE
Indicates clearly which #ifdef is ended with each #endif, regardless of the
fact that the stuff after the #else and #endif is ignored.
------------------------------
Date: Mon, 15 Apr 85 15:31:33 pst
From: nsc!turtlevax!ken at ihnp4.uucp (Ken Turkowski)
Subject: modulus, remainder, and %
To: ihnp4!cbosgd!mark at nsc.uucp
>The % operator is called the "mod" operator in C, but it does not compute
>modulus for signed numbers in any C implementation I know of. When I really
>want mod, I have to write (assuming b is unsigned):
>
> a%b>0?a%b:a%b+b
>
>Would it break anything to really define % as mod?
What's the problem? Both of them are equal (mod b). :->
Seriously, the % operator is defined as the remainder of a division such that:
(a / b) * b + (a % b) == a
Most implementations define the remainder to have the same sign as the
quotient, which has the property that:
(-a) / b == -(a / b)
Forcing the remainder to be positive would mean that quotient may be one less
than it is in most implementations. I think that the objection would not be
to defining % to yield a positive number, but to the change in the property
of quotients.
------------------------------
End of mod.std.c Digest - Sun, 21 Apr 85 11:19:48 EST
******************************
USENET -> posting only through cbosgd!std-c.
ARPA -> ... through cbosgd!std-c at BERKELEY.ARPA (NOT to INFO-C)
In all cases, you may also reply to the author(s) above.
More information about the Mod.std.c
mailing list