在java中" >> "是什么意思?
4个回答
展开全部
移位运算符,
<<表示左移, 左移一位表示原来的值乘2;例如:3 <<2(3为int型)
1)把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,
2)把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,
3)在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,
转换为十进制是12。
>>表示右移. 右移一位表示除2.
<<表示左移, 左移一位表示原来的值乘2;例如:3 <<2(3为int型)
1)把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,
2)把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,
3)在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,
转换为十进制是12。
>>表示右移. 右移一位表示除2.
追问
左移一位表示原来的值乘2,这个乘2体现在哪了?还是不太明白!
追答
就是把一般的乘法运算转换成为二进制位数计算。二进制的计数方式使得其移除一位高位的0就得到原数2倍的结果!
3 <<2就表示3左移了两位,左移一位表示原来的值乘2,那么左移两位就是3*2*2=12;右移同理!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询