您的位置:首页 > 编程语言 > Java开发

java之移位操作

2012-01-15 08:06 274 查看
======================================================

注:本文源代码点此下载

======================================================

java中共有3种移位操作符,分别为">"(右移位操作符)和">>>"(无差别右移位操作符)。
对于java语言中的移位操作需要注意以下3点:
1.移位操作的对象时整形数据(int)或者长整形数据(long),对于char、byte和short数据自动执行向上转型为int。
2.符号位参与到移位过程,对于">",移位是带符号的,在高位补与原符号位相同的数字,即正数高位补0,负
数低位补1;对于">>>",移位操作是无差别的,在高位补0。
3.第三个问题是关于移位操作的宽度问题。移位宽度为截取移位操作的右操作数低五位得到的正整数,因此取值范围为0
~31(对于长整形为低6位,因此取值范围为0~63)。
下面是一个小例子:
public class cycle {
/**
* @param args
*/
public static void main(string[] args) {
// todo auto-generated method stub
shift();
}
public static void shift(){
int i = -1;
system.out.println(i + ":");
system.out.println(integer.tobinarystring(i));
i = i >>> 31;
system.out.println(i + ":");
system.out.println(integer.tobinarystring(i));
int j = -1;
j = j >> 1;
system.out.println(j + ":");
system.out.println(integer.tobinarystring(j));
}
}

======================================================

在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定
这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: