您现在的位置是:首页» windows系统» java中移位运算符的使用方法,java移位运算符用法

java中移位运算符的使用方法,java移位运算符用法

2023-12-05 08:39:10
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家! 学习Java本来就是一件日积月累的事情,或许你通过自学能掌握一些皮毛技术,通过Java学习机构学到Java的一些基本大面,但想要做到精通,还是需要自己技术的日积月累和工作经验的不断积累

今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!

学习Java本来就是一件日积月累的事情,或许你通过自学能掌握一些皮毛技术,通过Java学习机构学到Java的一些基本大面,但想要做到精通,还是需要自己技术的日积月累和工作经验的不断积累。

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

1)“有符号”左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。

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

分析:首先把3转换为二进制数字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 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010.转换为十进制是3.数学意义:右移一位相当于除2,右移n位相当于除以2的n次方。

3) Java也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0

4)右移一位相当于除以2,左移一位(在不溢出的情况下)相当于乘以2;移位运算速度高于乘除运算。

~的优先级最高,其次是<<、>>和>>>,再次是&,然后是^,优先级最低的是|。

1、移位运算符就是在二进制的基础上对数字进行平移我们知道 Java中byte short和char类型在进行计算时都是先将其转换为int类型同样在进行移位运算时也不例外它们移位后的结果也都会变成int类型由于int类型为位的()所以对于byte short char和int进行移位时规定实际移动的次数最多是位如果超过则按n= n%来计算也就是说移位次和移位次得到的结果相同移动long型的数值时(long是位的)规定实际移动的次数是移动次数和的余数也就是移动次和移动次得到的结果相同您可以亲自动手做下试验现在我们介绍Java中的三种位移运算符)《(左移)运算规则按二进制形式把所有的数字向左移动对应的位数高位移出(舍弃)低位的空位补零语法格式需要移位的数字《移位的次数例如《则是将数字左移位计算过程《首先把转换为二进制数字(int类型的话为位字节 long的话为位字节)然后把该数字高位(左侧)的两个零移出其他的数字都朝左平移位最后在低位(右侧)的两个空位补零则得到的最终结果是则转换为十进制是数学意义在数字没有溢出的前提下对于正数和负数左移一位都相当于乘以的次方左移n位就相当于乘以的n次方比如《=*)》(带符号右移)运算规则按二进制形式把所有的数字向右移动对应位数低位移出(舍弃)高位的空位补符号位即正数补负数补语法格式需要移位的数字》移位的次数例如》则是将数字右移位计算过程的二进制形式为然后把低位的最后两个数字移出因为该数字是正数所以在高位补零则得到的最终结果是转换为十进制是数学意义右移一位相当于除右移n位相当于除以的n次方)>>>(无符号右移)运算规则按二进制形式把所有的数字向右移动对应位数低位移出(舍弃)高位的空位补零其他结构和》相似位移运算通常用来对代码进行速度上的优化用它来代替乘除法将是很好的选择下面来举几个例子希望对大家使用位移运算符有所帮助用位移运算符来实现 i/=++所以对i/可以这样来表示( i《)+( i《)+( i《)写出( q《)+( q《)实现的代码原式= q* ^+ q* ^= q*(+)= q* lishixinzhi/Article/program/Java/hx/201311/26978

wwW.Xtw.Com.cN系统网专业的PC、手机系统开发下载平台,HarmonyOS系统、安卓、OS、windows电脑重装系统在线下载安装,操作系统平台技术学习,攻略教程,技术交流。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com

标签: 移位 位移 运算