当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

Java编程那些事儿26—移位运算符[Java编程]

赞助商链接



  本文“Java编程那些事儿26—移位运算符[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

4.5.2 移位运算符

移位运算符就是在二进制的底子上对数字举行平移.按照平移的方向和填充数字的法则分为三种:<<(左移)、>>(带标记右移)和>>>(无标记右移).

在移位运算时,byte、short和char范例移位后的后果会变成int范例,关于byte、short、char和int举行移位时,规定实际移动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的后果相同.移动long型的数值时,规定实际移动的次数是移动次数和64的余数,也就是移动66次和移动2次得到的后果相同.

三种移位运算符的移动法则和利用以下所示:

l<<

运算法则:

按二进制情势把全部的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零.

语法格局:

需求移位的数字 << 移位的次数

比方:3 << 2,则是将数字3左移2位

计算历程:

3 << 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次方.

l>>

运算法则:

按二进制情势把全部的数字向右移动对应位数,低位移出(舍弃),高位的空位补标记位,即正数补零,负数补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次方.

l>>>

运算法则:

按二进制情势把全部的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零.关于正数来说和带标记右移相同,关于负数来说差别.

其他构造和>>类似.

4.5.3 小结

二进制运算符,包含位运算符和移位运算符,使程序员可以在二进制底子上操作数字,可以更有效的举行运算,并且可以以二进制的情势存储和转换数据,是实现网络协议解析以及加密等算法的底子.

但是,在实际利用中,为了使代码可读性强,还是大量利用普通的算术运算符来举行数字运算.

文章根源:http://blog.csdn.net/Mailbomb/archive/2008/05/30/2496168.aspx


  以上是“Java编程那些事儿26—移位运算符[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .