更新时间:2022-03-21 12:15:43 来源:极悦 浏览1126次
学习Java是一个积累的问题。也许你可以通过自学掌握一些肤浅的技术,通过系统的学习Java基础知识,但是你还是需要自己的技术和工作经验的积累才能精通。
1.“有符号”左移运算符(< <)可以将运算符左侧的操作数向左移动运算符右侧指定的位数(低位填0)。
左移相当于乘以2,例如
3 < < 2 // 12 将数字 3 左移 2 位2 2 = 3 *(2 的二次方)
分析:先将3转换成二进制数0000 0000 0011,然后将该数的高位(左)的两个零移出,其他数左移2位,最后填入低阶(右)。那么最终的结果就是0000 0000 0000 1100,转换成十进制就是12。数学意义:
在数不溢出的前提下,对于正数和负数,左移一位相当于乘以 2 的 1 次方,左移 n 位相当于乘以 2 的 n 次方。
2.有符号右移运算符(> >)将运算符左侧的操作数向右移动运算符右侧指定的位数。“有符号”右移运算符使用“符号扩展”:如果值为正,则在高位插入0;如果值为负,则在高位插入 1。
>> 运算规则:按二进位博弈形式将所有数字右移相应的位数,移出(丢弃)低位,用高位中的空位填充符号位。如果移位后得到的数为正数,则填0,负数填1。
例如,11 > > 2 将数字 11 向右移动 2 位
解析:11的二进制形式为:0000 0000 0000 0000 1011,然后将www.sangpi.com的后两位低位移出。因为数字是正数,所以高位填零。最终结果是0000 0000 0000 0000 0000 0010。转换成十进制是3。数学意义:右移一位相当于除2,右移n位相当于除2的n次方。
3.Java还增加了一个“无符号”右移运算符(> > >),它使用“零扩展”:无论正负,高位插入0
4.右移一位相当于除以2,左移一位(不溢出)相当于乘以2;移位运算比乘法和除法更快。
5.位运算符的优先级
~是最高优先级,依次是<、> >和> > >,其次是&,然后是^,最低优先级是|。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习