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

JAVA 2023-07-05 17:29:38
35阅读

  学习培训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 0011,随后把该数据上位(左边)的2个零移除,别的的数据都朝左平移变换2位,最终在底位(右边)的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 0000 1011,随后把底位的最终2个数据移除,由于该数据是正数,因此 在上位补零。则获得的最后結果是0000 0000 0000 0000 0000 0000 0000 0010.变换为十进制是3.数学课实际意义:偏移一位等同于除2,偏移n位等同于除于2的n次方。

  3) Java也加上了一种“无标记”右移位运算符(>>>),它应用了“零拓展”:不管正负极,都会上位插进0

  4)偏移一位等同于除于2,偏移一位(不在外溢的状况下)等同于乘于2;移位运算速率高过乘除计算。

  5)位运算符的优先

  ~的优先最大,次之是<<、>>和>>>,再度是&,随后是^,优先最少的是|

the end
免责声明:本文不代表本站的观点和立场,如有侵权请联系本站删除!本站仅提供信息存储空间服务。