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

```
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?