当前位置:首页 > 开发 > 编程语言 > Java > 正文

Java 位运算

发表于: 2015-03-09   作者:Javahuhui   来源:转载   浏览:
摘要: // 左移( << ) 低位补0 // 0000 0000 0000 0000 0000 0000 0000 0110 然后左移2位后,低位补0: // 0000 0000 0000 0000 0000 0000 0001 1000 System.out.println(6 << 2);// 运行结果是24 // 右移( >> ) 高位补"
// 左移( << ) 低位补0
// 0000 0000 0000 0000 0000 0000 0000 0110 然后左移2位后,低位补0:
// 0000 0000 0000 0000 0000 0000 0001 1000
System.out.println(6 << 2);// 运行结果是24

// 右移( >> ) 高位补"符号位"
// 0000 0000 0000 0000 0000 0000 0000 0110 然后右移2位,高位补0:
// 0000 0000 0000 0000 0000 0000 0000 0001
System.out.println(6 >> 2);// 运行结果是1
//-6换算二进制后为:0110 取反加1,即
//1111 1111 1111 1111 1111 1111 1111 1010 然后右移2位,高位补1:
//1111 1111 1111 1111 1111 1111 1111 1110
System.out.println(-6>> 2);// 运行结果是-2

// 无符号右移( >>> ) 高位补"符号位"
// 0000 0000 0000 0000 0000 0000 0000 0110 然后右移2位后,高位补0:
//0000 0000 0000 0000 0000 0000 0000 0001
System.out.println(6 >>> 2);// 结果是1
//1111 1111 1111 1111 1111 1111 1111 1010 然后右移2位,高位补1:
// 1111 1111 1111 1111 1111 1111 1111
System.out.println(-6 >>> 2);// 结果是1073741822

// 位与( & )
// 位与:第一个数与第二个数,同位且都为1,那么对应位数也为1,否则为0
//0000 0000 0000 0000 0000 0000 0000 0110 &
0000 0000 0000 0000 0000 0000 0000 0010
//0000 0000 0000 0000 0000 0000 0000 0010
System.out.println(6 &2);// 结果为2

// 位或( | )
//第一个数与第二个数,同位且只要有一个是1,那么对应位数也为1,否则为0
//0000 0000 0000 0000 0000 0000 0000 0110 &
//0000 0000 0000 0000 0000 0000 0000 0011
//0000 0000 0000 0000 0000 0000 0000 0111
System.out.println(6 | 3);// 结果为7

// 位异或( ^ )
//第一个数与第二个数,同位且数值相反,那么那么对应位数为1,否则为0
//0000 0000 0000 0000 0000 0000 0000 0110 &
//0000 0000 0000 0000 0000 0000 0000 0011
//0000 0000 0000 0000 0000 0000 0000 0101
System.out.println(6 ^ 3);//结果为5

// 位非( ~ )
// 对应位数取反值
//0000 0000 0000 0000 0000 0000 0000 0110 取反
//1111 1111 1111 1111 1111 1111 1111 1001
System.out.println(~6);// 结果为-7

Java 位运算

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
一、简介 Java中所有的数据都是以二进制数据的形式进行计算的,即如果有一个int型变量,要采用位运
//Java中的位运算 /*计算机由复杂电子元器件构成,一个电子元器件有带电和不带电的两种状态,1和0
位运算 位运算   位运算时把数字用二进制表示之后,对每一位上0或者1的运算。   理解位运算的第
题目: int func(unsigned int i) { Unsigned int temp=i Temp=(temp & 0x55555555)+((temp & 0xaaa
一、六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 将int型变
位运算 二进制 所谓的二进制就是逢二进一(0,1),因为使用二进制只有0,1 俩个数,简单,易于电子方
原理 在Linux文件系统中,一个用户对文件或目录所拥有的权限分为三种:”可读”、”可写”和”可执
数据库采用1,2,4,8,16.....等用数字标识的状态字段可以进行累加,对存在的几种状态进行组合,从而可形
原理 在Linux文件系统中,一个用户对文件或目录所拥有的权限分为三种:”可读”、”可写”和”可执
原理 在Linux文件系统中,一个用户对文件或目录所拥有的权限分为三种:”可读”、”可写”和”可执
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号