java中的左移、右移、无符号右移
阅读java源码会经常碰到左移与右移运算。那么左移与右移都是怎么运算呢?查询资料学习了下,这里做个总结。
一.左移 (<<)。直接举个例
二.右移(>>)。左移的结果是一个数乘以2的n次方,那右移是一个数除以2的n次方吗?其实不是,这么记是不对的,应该将这个数转化为2进制数,然后将这个数向右移动。这么计算才是准确的(左移右移原理都一样,只是向右移动特殊),符号位不变。
三.无符号右移(>>>)。已经知道,左移与右移都不会改变数据的正负号,但是无符号右移(>>>)则会。