这是个姿势 避免C++求余数出现负数解决办法:

来源:互联网 发布:织梦cms安装 dir 编辑:程序博客网 时间:2024/05/22 12:15
  在学带余除法时上面只提到了正整数的带余除法,余数自然应该是非负不大于除数的数了;很多地方也回避了负数的除法中余数是正数还是负数。

避免C++求余数出现负数解决办法:

假设被除数是 a,除数是 b。

有两种方法:

1. 先令 r = a % b,然后如果 r < 0 再进行修正:

r = a % b;
if (r < 0) r += b;

2. 直接使用语句:

r = (a%b+b)%b;

这样就保证了 r >= 0,缺点是要执行两次取余运算,效率会打点折扣。
0 0
原创粉丝点击