之前左移运算和右移运算没怎么明白,但是补题时看一些大佬的博客经常会用,所以今天总结一下:
左移运算:
n<<1,相当于n乘以2;n<<m,相当于n乘以2的m次方。
#include<iostream>
using namespace std;
int n;
int main()
{
for(int i=1;i<=5;i++)
{
cout<<i<<" -->> ";
int ans=i<<1;
cout<<ans<<endl;
}
return 0;
}
#include<iostream>
using namespace std;
int n;
int main()
{
for(int i=2;i<=4;i+=2)
{
for(int j=1;j<=2;j++)
{
cout<<"i="<<i<<" j="<<j<<" -->> ";
int ans=i<<j;
cout<<ans<<endl;
}
}
return 0;
}
右移运算:
n>>1,相当于n除以2;n>>m,相当于n出于2的m次方。
#include<iostream>
using namespace std;
int n;
int main()
{
for(int i=2;i<=8;i+=2)
{
cout<<i<<" --> ";
int ans=i>>1;
cout<<ans<<endl;
}
return 0;
}
#include<iostream>
using namespace std;
int n;
int main()
{
for(int i=4;i<=16;i+=4)
{
cout<<i<<" --> ";
int ans=i>>2;
cout<<ans<<endl;
}
return 0;
}