当前位置:首页 > 开发 > Web前端 > 前端 > 正文

java位运算

发表于: 2012-02-23   作者:ccr1988   来源:转载   浏览次数:
摘要:    java位运算主要是用来对二进制进行操作,主要的位运算包括>>,<<,>>>,&,|,^,~ .java的二进制是采用补码(最高阶0表示正 ,1表示负,对正数来说,最高位为0,其余各位代表数值本身,如 +22的补码 为00010110。 对负数而言最高位1,把该数绝对值的补码按位取反 然后对整个数加1,即得该数的补码,如 -22的补 码 为11101010(000
   java位运算主要是用来对二进制进行操作,主要的位运算包括>>,<<,>>>,&,|,^,~ .java的二进制是采用补码(最高阶0表示正 ,1表示负,对正数来说,最高位为0,其余各位代表数值本身,如 +22的补码 为00010110。 对负数而言最高位1,把该数绝对值的补码按位取反 然后对整个数加1,即得该数的补码,如 -22的补 码 为11101010(00010110 按位取反11101001 +1=11101010))的方式进行表示.
    1, >>  右移(带符号【移动的时候带上原来的符号】)
    a>>b 表示a向右移动b位,低阶去掉,高阶用原来最高阶补充(即如果原来最高位0,则高位补0),
    例如: 12>>2   即00001100--->00000011(3)
         -12>>2   即11110100--->11111101(-3)
    2, <<  左移(带符号)
    a<<b 表示a向左移动b位,高阶去掉,低阶用0补充。
    例如: 12<<2   即00001100--->00110000(48)
         -12<<2   即11110100--->11010000(-48)
         
    3, >>> 右移(无符号【移动的时候不带上原来的符号】)
    由于>>>是无符号的,所以每次移动最高位用0表示,所以>>>结果一定是正数(除0),即正数的>>>跟>>结果是一样的
    例如: 12>>>2 即00001100--->00000011(3)
         -12>>>2 即11110100--->00111101 (1073741821)

    4, &  按位与
       如果两个运算数都是1,则结果为1。其他情况下,结果均为零
       例如:01010001&11000011结果为:01000001
    5,|  按位或
       任何一个运算数为1,则结果为1
       例如:01010001|11000011结果为: 11010011
    6, ^ 按位异或
       只有在两个比较的位不同时其结果是 1。否则,结果是零
       例如:01010001|11000011结果为: 10010010
    7, ~ 按位非
       是对其运算数的每一位取反
       ~01010001 结果为:10101110
备注:操作的数据为byte类型,在内存占一个字节即8位2进制数表示

java位运算

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
//Java中的位运算 /*计算机由复杂电子元器件构成,一个电子元器件有带电和不带电的两种状态,1和0
运算符归类: 一元运算符:逻辑运算符(!),非运算符(~) 二元运算符:复制运算符(=),逻辑与运算符(&
技术只有落实到工程当中才显得那么有血有肉,之前学J2SE的时候运算符这块没有多在意,前一段时间实
题目: int func(unsigned int i) { Unsigned int temp=i Temp=(temp & 0x55555555)+((temp & 0xaaa
位运算 位运算   位运算时把数字用二进制表示之后,对每一位上0或者1的运算。   理解位运算的第
转自:http://demojava.iteye.com/blog/1367827 备用 运算符归类: 一元运算符:逻辑运算符(!),非
Title: 位操作基础篇之位操作全面总结 Author: MoreWindows E-mail: morewindows@126.com KeyWord:
原理 在Linux文件系统中,一个用户对文件或目录所拥有的权限分为三种:”可读”、”可写”和”可执
原理 在Linux文件系统中,一个用户对文件或目录所拥有的权限分为三种:”可读”、”可写”和”可执
原理 在Linux文件系统中,一个用户对文件或目录所拥有的权限分为三种:”可读”、”可写”和”可执
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号