java 位移运算.

2<<2不是等于8吗, 可我不明白二进制这是怎么算的 2的二进制是10 8的进制是0010 怎么移的?


按 8 位 2 进制为例(更多位同样道理):   2: 00000010 移动之后:     00001000 这样就是 8 了
明白 2 进制和 10 进制的转换看得明白。
2 << 2 等同于 2* 4 所以等于 8



计算机最终能理解的还是二进制。 所以在进行移位你就可以把它看做已经转好成二进制了。例如: 9的八进制:011<<1 9的二进制:1001 << 1 最终值:1 0010= 18.


最简单方法就是 把左移X位看成乘以2的X次方 把右移X位看成除以2的X次方
posted @ 2013-08-27 17:50  hanks  阅读(124)  评论(0)    收藏  举报