int q=p<<1;施是什么意思啊解决思路

int q=p<<1;施是什么意思啊?
求详解~

------解决方案--------------------
只能理解为p左移1位。

当p是正数的时候还可以理解为p*2.
------解决方案--------------------
将p的二进制数左移1位,右补0。若a=15,即二进制数00001111,左移1位得00011110,即十进制数30。然后赋值给q
------解决方案--------------------
q=p*2。。。。。。

------解决方案--------------------
高位左移后溢出,舍弃。左移一位相当于乘以2,左移2位相当于乘以4。上面例子15<<1=30,即乘了2。但此结论只适用于该数左移时被溢出舍弃的高位中不包含1的情况。
------解决方案--------------------
位运算,将这个变量的二进制数值左移。
例如:
a = 1;
a = a<<1;
那么,a的值就是2,因为1以u二进制表示是00001,左移1位后,就是00010,转换成10进制就是2,左移多少位就相当于乘以多少个2.
------解决方案--------------------
探讨

位运算,将这个变量的二进制数值左移。
例如:
a = 1;
a = a<<1;
那么,a的值就是2,因为1以u二进制表示是00001,左移1位后,就是00010,转换成10进制就是2,左移多少位就相当于乘以多少个2.