避免C++求余数出现负数解决办法
本博客转载自:https://blog.youkuaiyun.com/qq_32734731/article/details/54810085
在学带余除法时上面只提到了正整数的带余除法,余数自然应该是非负不大于除数的数了;很多地方也回避了负数的除法中余数是正数还是负数。
避免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,缺点是要执行两次取余运算,效率会打点折扣。
本文介绍两种在C++中实现带余除法时确保余数为非负的方法,适用于处理负数被除数的情况。第一种方法通过先求余数再修正负余数来实现;第二种方法则通过一次表达式计算来完成。
6971

被折叠的 条评论
为什么被折叠?



