Go Down

Topic: modulo with negative int (Read 430 times) previous topic - next topic

Dimitree

hello
I'm having some difficulties in cycling between a range of value..

Code: [Select]

int c = 0;
int length = 4;
c = -1 % length;
lcd.print(c);


If I use this code I get -1 as result..if I use "unsigned" for c, I get 65535.
I'd like to get 3: (https://www.google.it/#output=search&sclient=psy-ab&q=-1+modulo+4&oq=-1+modulo+4&gs_l=hp.3...1052.1052.0.1909.1.1.0.0.0.0.143.143.0j1.1.0...0.0...1c.1.9.psy-ab.fb5tuCXYaj8&pbx=1&bav=on.2,or.r_qf.&bvm=bv.45512109,d.ZWU&fp=eb10b05648b700fa&biw=1440&bih=755)

If I'm not wrong I used to use % to get always a number in the range of the divisor, both when using negative or positive dividend..
what I'm missing?

marco_c

#1
Apr 22, 2013, 12:12 pm Last Edit: Apr 22, 2013, 12:25 pm by AWOL Reason: 1
http://en.wikipedia.org/wiki/Modulo_operation

Intro paragraph gives you the answer.


Moderator edit: Tags removed
Arduino libraries http://arduinocode.codeplex.com<br />Parola for Arduino http://parola.codeplex.com

Go Up