① m * 2^n = (m << 3)
System.out.println(" 2^3=" + (1 << 3));// 2^3=8
System.out.println("1*2^3=" + (1 << 3));// 1*2^3=8
System.out.println("3*2^3=" + (3 << 3));// 3*2^3=24
System.out.println("5*2^3=" + (5 << 3));// 5*2^3=40
# 理解过程
101 → 5
101000 → 40
1左挪3位 →(101后面的1相当于1)扩大8倍 → 1*8=8
1左挪3位 →(101前面的1相当于4)扩大8倍 → 4*8=32
综上101左挪3位 → 101000就相当于 8+32 → (1+4)*8 → 5*8 → 5*2的3次方