java基本概念--基本运算符

Java的移位操作符一共有三种,
分别是
1.>>:有符号右移,有符号右移的意思是说移入的最高位和原最高符号位相同
2.>>>:无符号右移,无符号右移是移入位始终补零,左移时最低位始终补零,最高位被舍弃
3.<<:左移,有符号左移的意思是说移入的最高位和原最高符号位相同
例如
int a = 100 转化为二进制为 0110 0100
: 0110 0100 >> 2 ----- 0001 1001 转化为十进制为 25
int a = 100;
System.out.println(a >> 2);

输出结果:25

: 1100 1100 0000 1010 >> 2 ----- 1111 0011 0000 0010
:1100 1100 0000 1010 >>>2 ----- 0011 0011 0000 0010
移位操作符另一个非常值得注意的特点是其右操作数是取模运算的,意思是说对于一个int型数据而言,对它移位32位的结果是保持不变而非变成零,即:a>>32的结果是a而不是0,同理,对long型数是对右操作数取64的模,a>>64==a;
int a = 100;

System.out.println(a >> 32);

输出结果 100。
还有一点需要注意的是移位操作符”>>>”只对int型和long型有效,对byte或者short的操作将导致自动类型转换,而且是带符号的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值