Java的取余和取模的区别

在前不久的一次面试中和面试官聊到分表算法的时候,提到了取余,将一张表分成20张表,使用userId / 20 取余数,然后面试官就取余跟我讨论了一番, 他表示不理解我的意思,我就说了比如说25除以20取余得到的是5那么就放在table_5中,说了几句后他就提到了取模,还自己写了%,意思就是取余不理解,取模就能理解??????
--------------背景交代完毕-------
取余 a % b;
取模 Math.floorMod(a , b);
区别
1、取余和取模在除数和被除数同为正数或者同为负数时没有区别;
2、取余的结果和被除数同号,取余运算结果向0方向舍弃小数位;
3、取模的结果和除数同号,取模运算结果向负无穷方向舍弃小数位(尽可能让商更小)

你可能感兴趣的:(Java的取余和取模的区别)