求模运算符是较为耗时的一类,我们用位运算来代替会大大提高该语句的执行效率。
比如:
if (a%2 == 1) 可以用 if ((a & 1) ==1)来代替
例:
#include <iostream>
using namespace std;
int main()
{
int n;
while (cin>>n) {
if ((n & 1)==1) {
cout<<"奇数"<<endl;
}
else
cout<<"偶数"<<endl;
}
return 0;
}
再如 a/=2 可以用 a>>=1 来代替
用位运算代替原始操作,若该操作百万次的出现,所节约的时间还是相当可观的。