java 位运算实例_java基础4 位运算的一些例子

package endual3;

public class MainApp {

/**

* 位运算

* java语言支持整数类型的数据的位运算,位运算操作符包括:

* 1.& -- 与运算,二元操作符号,对两个操作元的每个二进制位进行运算

* 运算规则是 :1 & 1 = 1; 1 & 0 = 0; 0 & 1 = 1; 0 & 0 = 0;

* 2 ^ --异或运算,二元操作符,对两个操作元的每个二进制位进行异或的运算,

* 运算规则:1^1 = 0; 1^0=1 ; 0^1 = 1; 0^0 = 0

* 3 |---或运算 , 二元操作符,对两个操作元的二进制的进行或运算

* 运算规则是: 1 | 1 = 1; 1^0 = 1; 0^1 = 1 ; 0^0 = 0 ;

* 4 ^--取反运算 一元操作符,对操作元的每个二进制位进行取反运算,

* 运算规则是:~1 = 0 ; ~0 = 1 ;

* 5 >> --- 算术右移位运算,二元操作符

* 6 >>> -- 逻辑右移位运算,二元操作符

* 7 << ---算法左移位运算,二元操作符

*

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

/**

* 算术右移位操作符 >>

* 操作符 >> 进行算法右移位运算,也称为带符号右移位运算

*/

int a1 = 12 >> 1 ;//变量a1的取值为6 ;

//对12右移一位的过程中,舍弃了二进制数的最后的一位,在二进制数的开头添加以为符号位,

//由于12是整数,因此在符号位上添加的是0

//00000000 00000000 00000000 0000110 0 ---->0 00000000 00000000 00000000 0000110

int a2 = -12 >> 2 ; //变量a2的取值为3 ;

//对于-12右边移动两位的过程中,舍弃二进制数的最后两位,在二进制的开头增加两位符号位,由于-12

//是负整数,因此增加了两位符号位11,

//11111111 11111111 11111111 111101 00 -->> 11 11111111 11111111 11111111 111101

int a3 = 128 >> 2 ; //变量a3的取值为32 ;

int a4 = 129 >> 2 ; //变量a4的取值为32 ;

/**

* 逻辑右移位操作符

* 操作符>>>是逻辑右移操作符,也称为不带符号右移操作符号,在移位的过程中,二进制数的开头增加的

* 位都是0

*

* 举例子不举了

*/

//左移位操作符 <<

/**

* 操作符 << 执行左移位运算

*

* int a1 = 12 << 1 ;

*

* 对于12左移以为的过程中,舍弃的是二进制数的开头一位,在二进制数的尾巴增加一位0

*

* int a2 = -12 << 2 ;

* 对于负数-12 ,操作的过程是 舍弃二进制数的开头两位,在二进制数的尾巴增加两位00

*

*/

}

}

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-02-13 14:14

浏览 1389

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值