java位移操作_java中的位移操作

/**

* @author superGenius

* java移位操作

*基础知识:java中类型的二进制表示

*

*一.int的是32位。long的是64位。

*如int i = 1;

* i的二进制原码表示为:

* 00000000000000000000000000000001

*long l = 1;

*l的二进制原码表示为: *0000000000000000000000000000000000000000000000000000000000000001

*

*二.原码——符号位为0表示正数,为1表示负数;

其余各位等同于真值的绝对值。

如:0000000000000010B=2,1000000000000010B=-2

反码——符号位的用法及正数的表示与“原码”一样;

负数的表示是在“原码”表示的基础上通过将符号位以外

的各位取反来获得的。

如:0000000000000010B=2,1111111111111101B=-2

补码——符号位的用法及正数的表示与“原码”一样;

负数的表示是在“反码”的基础上通过加1来获得的。

如:00000010B=2,11111110B=-2

三。常用的操作

& 与。 全1为1, 有0为0。  任何数与0与都等于0。

| 或。 有1为1, 全0为0。  任何数与0或都等于原值。

~ 非。 逐位取反

^ 异或。 相同为0,相异为1。 任何数与0异或都等于原值。

*/

public class Shifting {

public static void main(String[] args)

{

System.out.println(1<<1);//1左移一位从0001->00010,相当于乘以2 结果2

System.out.println(4>>2);//相当于除以4 结果1

System.out.println(1&2);//1->0001 2->0010 逐位比较 返回0000 结果0

System.out.println(1^1);//相同的返回0

System.out.println(1|2);//1->0001 2->0010 逐位比较 返回0011结果3

}

}

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-04-14 21:46

浏览 4741

评论

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值