首页 > 代码库 > java移位运算符实验程序:<<(左移)、>>(带符 号右移)和>>>(无符号右移)
java移位运算符实验程序:<<(左移)、>>(带符 号右移)和>>>(无符号右移)
public class txs {
static void leftbit(){
int i; //整型长度为32位 //位
int num=0xFFFFFFE; //1111 1111 1111 1111 1111 1111 1110 //28
for(i=0;i<28;i++){
//循环一次向左移动一位,丢弃最高位,0补最低位
num=num<<1; //1111 1111 1111 1111 1111 1111 1110 0 //29
//1111 1111 1111 1111 1111 1111 1110 00 //30
//1111 1111 1111 1111 1111 1111 1110 000 //31
//1111 1111 1111 1111 1111 1111 1110 0000 //-32
//1111 1111 1111 1111 1111 1111 1100 0000 //-64
System.out.println(num);
}
}
static void rightbit(){
int i; //整型长度为32位 //位
int num=0xFFFFFFE; //1111 1111 1111 1111 1111 1111 1110 //28
for(i=0;i<4;i++){
//循环一次向右移动一位 符号位不变,左边补上符号位
num=num >> 1; //1111 1111 1111 1111 1111 1111 111 //27
//1111 1111 1111 1111 1111 1111 11 //26
//1111 1111 1111 1111 1111 1111 1 //25
//1111 1111 1111 1111 1111 1111 //24
System.out.println(num);
}
}
//无符号右移
//
static void unregist_rightbit(){
int i; //整型长度为32位 //位
int num=0xFFFFFFE; //1111 1111 1111 1111 1111 1111 1110 //28
for(i=0;i<4;i++){
//循环一次向右移动一位 忽略符号位扩展。0补最高位
num=num >>> 28; //1111 1111 1111 1111 1111 1111 111 //27
//1111 1111 1111 1111 1111 1111 11 //26
//1111 1111 1111 1111 1111 1111 1 //25
//1111 1111 1111 1111 1111 1111 //24
System.out.println(num);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//leftbit();
rightbit();
System.out.println("================");
unregist_rightbit();
}
}
java移位运算符实验程序:<<(左移)、>>(带符 号右移)和>>>(无符号右移)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。