Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!rex!ames!haven!adm!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.lang.c Subject: Re: % operator with negatives Message-ID: <7461:Dec1310:04:0990@kramden.acf.nyu.edu> Date: 13 Dec 90 10:04:09 GMT References: <1990Dec12.185714.7169@mp.cs.niu.edu> <1990Dec12.205416.26622@zoo.toronto.edu> Organization: IR Lines: 13 In article <1990Dec12.205416.26622@zoo.toronto.edu> henry@zoo.toronto.edu (Henry Spencer) writes: > In article <1990Dec12.185714.7169@mp.cs.niu.edu> t901908@mp.cs.niu.edu (Joe Adamo) writes: > >I know this may sound silly, but what is the effect of using the > >% (mod) operator with negatives? I can't seem to find any info on it. > If you're asking the obvious question -- "what's the sign of the remainder?", > i.e. "which way does the rounding of the quotient go?" -- there is no > portable answer. It's implementation-specific. And if you're asking ``Where is the information on it?'', the answer is that a % b is defined so that (a / b) * b + (a % b) equals a. It's the ambiguous definition of / that makes % so useless with negatives. ---Dan