左移<<
首先理解二进制计算。如:
101;// 2²+2⁰=5
111;// 2²+2¹+2⁰=7
由上可见,二进制的计算就是:从第0位开始,第n位是1值,则2ⁿ,并计和。
如果左移2位:
10100;// 2⁴+2²=(2²+2⁰)2²
11100;// 2⁴+2³+2²=(2²+2¹+2⁰)2²
由此可见,左移是乘法,左移n位,则*2ⁿ。
同理,右移是除法。
版权声明:本文为Kevin_Xie86原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
首先理解二进制计算。如:
101;// 2²+2⁰=5
111;// 2²+2¹+2⁰=7
由上可见,二进制的计算就是:从第0位开始,第n位是1值,则2ⁿ,并计和。
如果左移2位:
10100;// 2⁴+2²=(2²+2⁰)2²
11100;// 2⁴+2³+2²=(2²+2¹+2⁰)2²
由此可见,左移是乘法,左移n位,则*2ⁿ。
同理,右移是除法。