// java 代码 运算结果有些出入哦。。。。
int y=10;
System.out.println(( y<<1 )+" << "+(y*(Math.pow(2, 1))));
System.out.println(( y<<2 )+" << "+(y*(Math.pow(2, 2))));
System.out.println(( y<<3 )+" << "+(y*(Math.pow(2, 3))));
System.out.println(( y<<4 )+" << "+(y*(Math.pow(2, 4))));
System.out.println(( y<<5 )+" << "+(y*(Math.pow(2, 5))));
System.out.println("------ 分割线 ------");
y=1000;// (如下 >> 示例 : y 的值不能写太小 ,否则强制类型转换了)
System.out.println(( y>>1 )+" >> "+(y/(Math.pow(2, 1))));
System.out.println(( y>>2 )+" >> "+(y/(Math.pow(2, 2))));
System.out.println(( y>>3 )+" >> "+(y/(Math.pow(2, 3))));
System.out.println(( y>>4 )+" >> "+(y/(Math.pow(2, 4))));
System.out.println(( y>>5 )+" >> "+(y/(Math.pow(2, 5))));