最近在刷天梯题的时候,发现了<<和>>这两个运算,刚见到的时候简直一脸懵逼,觉得自己很菜,经过自己查找资料,发现原来这两个小东西是位运算符呀。为加深自己的印象,总结如下:
话不多说,先上个图:
总结直接写代码里了,代码这里直接附上,可以复制到自己的编译环境尝试一下,加深一下印象。
#include<bits/stdc++.h>
using namespace std;
int main()
{int a=3;int b=7;int c,d;c=a<<3;
// 左移(x<<y即x向左移动y位)
// 0000 0011 ——> 0001 1000(24)d=b>>2;
// 右移 (x>>y即x向右移动y位)
// 0000 0111——> 0000 0001(1)cout<<"c为"<<c<<endl;cout<<"d为"<<d<<endl;
}
最后再简单敲黑板总结一下呗:
简单来说就是这样:
左移(x<<y即x向左移动y位)
右移 (x>>y即x向右移动y位)
尖端朝哪儿,哪里移;移动位数,符号后。
时光荏苒,东流逝水,不负流年。