This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Remainder ( % ) operator and GCC


You could use fmod.

corey

On 11/9/05, Frans Englich <frans.englich@telia.com> wrote:
> On Wednesday 09 November 2005 19:19, Ian Lance Taylor wrote:
> > Ladislav Mecir <lmecir@mbox.vol.cz> writes:
> > > Could you give me an advice how to make the following program (and
> > > programs using many times the % operator) run reliably when compiled
> > > by GCC on different operating systems even when the user gives -1 as
> > > the B value?
> > >
> > > #include <stdio.h>
> > > int main(int argc, char *argv[]) {
> > >     int a = -2147483647;
> > >     int b;
> > >     printf ("The value of B: ");
> > >     scanf ("%i", &b);
> > >     printf ("%i %% %i: %i", a, b, (a - 1) % b);
> > >     return 0;
> > > }
> >
> > Don't use '%'.  It is machine dependent when used with a negative
> > number.
>
> What should one use instead? What is the portable, machine-independent
> alternative?
>
>
> Cheers,
>
>                 Frans
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]