这段代码不太明白,求解

int x=0x02;
return x<<2;
这个最后返回值是多少,为什么

int x=0x02,0x02的二进制代码是0000 0010
x << 2,左移2位,结果是 0000 1000
所以返回结果是8


一种快捷的计算方式是:
x左移n位相当于x乘以(2的n次方),比如这里左移2位,就是x乘以4,结果是8
x右移n位相当于x除以(2的n次方)

0x02是16进制写法,十进制就是2
x<<2是左移两位,相当于x乘以4,所以最终x的值为8