请教C++中的<<和>>的计算过程!
value1 =1<<0;//1
value2 =1<<1;//2
value3 =1<<2;//4
value4 =1<<3;//8
value5=1<<4;//16
value6 =1<<5;//32
value7 =1<<6;//64
value8 = 1<<7;//128
value9 = 1<<8;//256
value10=1<<9;//512
不明白上面的结果,为什么等于后面注释的值?
[解决办法]
<<和>>是移位符号,m<<n表示m的2进制往左移n位,右边补0。
1<<0 : 1往左移0位当然还是1
1<<1 : 1往左移1位就是10,转成十进制就是2
1<<2 : 1往左移2位就是100,转成十进制就是4