首页 > 国际新闻

Java学习路线:Java中的位移运算符介绍

文章作者:来源:www.slofcard.com时间:2020-02-23



学习java是一个积累的过程。也许你可以通过自学掌握一些肤浅的技能,学习java的一些基本方面,但要掌握它,你还需要积累技能和工作经验。

我今天与大家分享的技术知识是:java中的位移运算符!

1)“有符号”左移位运算符()可以将运算符左侧的操作数向左移位运算符右侧指定的位数(0以较低的顺序相加)。

向左移位相当于乘以2,例如

3 ^ 2//12是将数字3向左移位2位3*2*2=3*(2的2次方)

分析:首先将3转换为二进制数0000 0000 0000 0000 0000 0000 0000 0000 0011,然后移出数字高位(左侧)的两个零,将其他数字向左移位2位,最后填入那么最终结果是0000 0000 0000 0000 0000 0000 0000 1100,并且到十进制的转换是12。数学意义:

对于正数和负数,向左移动一位相当于2乘以1的幂,向左移动n位相当于2乘以n的幂。

2)“带符号”右移位运算符()将操作数向左向右移动运算符右侧指定的位数。“带符号”的右移运算符使用“符号扩展”:如果值为正,则按高位插入0;如果该值为负,请按高顺序插入1。

运算规则:将所有数字以二进制形式右移相应的数字,在低位移出(丢弃),并用高位空格填充符号位。如果移位后得到的数字是正数,则填入0,负数填入1。

例如,11 2将数字11向右移动2位

分析:11的二进制形式是:0000 0000 0000 0000 0000 0000 1011,然后将低位的最后两位移出,因为数字是正数,所以高位加零。那么最终的结果是0000 0000 0000 0000 0000 0010。转换成十进制是3。数学含义:向右移动一位相当于除以2,向右移动n位相当于除以2的n次方。

3) Java还添加了一个“无符号”右移位运算符(),它使用“零扩展”:0

4插入到高位,不管是正还是负。向右移动一位相当于除以2,向左移动一位(不溢出)相当于乘以2。移位运算比乘法和除法快。

5)位运算符具有最高优先级

~后跟、和,然后是最低优先级|

丁香五月啪啪,激情综合,色久久综合网,桃花影院,夜夜骑天天草久久