在对于进制的变换上,每一个位运算符的操作代码都是不同的。进制之间的转换问题一直困扰着新学的小伙伴们,那么本篇带来的位运算符大家可一定不要错过。针对不同的位运算符,这里给出勒对应的代码解决方法。下面我们就来一起看看如何转换进制的吧。
1.左移运算符:<<
intintValue=733183670;//随意写一个数
System.out.println("intValue:"+(intValue));//打印intValue
System.out.println("intValue左移1位:"+(intValue<<1));//左移1位
System.out.println("intValue左移8位:"+(intValue<<8));//左移8位
//当int类型左移位数大于等于32位操作时,会先求余后再进行移位操作
System.out.println("intValue左移32位:"+(intValue<<32));//求余为32%32=0,相当于左移0位(不移位)
System.out.println("intValue左移40位:"+(intValue<<40));//求余为40%32=8,相当于左移8位
System.out.println("intValue左移64位:"+(intValue<<64));//求余为64%32=0,相当于左移0位(不移位)
longlongValue=733183670L;
System.out.println("longValue:"+(longValue));//打印longValue
System.out.println("longValue左移1位:"+(longValue<<1));//左移1位
System.out.println("longValue左移8位:"+(longValue<<8));//左移8位
//当long类型左移位数大于等于64位操作时,会先求余后再进行移位操作
System.out.println("longValue左移64位:"+(longValue<<64));//求余为64%64=0,相当于左移0位(不移位)
System.out.println("longValue左移72位:"+(longValue<<72));//求余为72%64=8,相当于左移8位
System.out.println("longValue左移128位:"+(longValue<<128));//求余为128%64=0,相当于左移0位(不移位)
2.右移运算符:>>
intintValue=733183670;//随意写一个数
System.out.println("intValue:"+(intValue));//打印intValue
System.out.println("intValue右移1位:"+(intValue>>1));//右移1位
System.out.println("intValue右移8位:"+(intValue>>8));//右移8位
//当int类型右移位数大于等于32位操作时,会先求余后再进行移位操作
System.out.println("intValue右移32位:"+(intValue>>32));//求余为32%32=0,相当于右移0位(不移位)
System.out.println("intValue右移40位:"+(intValue>>40));//求余为40%32=8,相当于右移8位
System.out.println("intValue右移64位:"+(intValue>>64));//求余为64%32=0,相当于右移0位(不移位)
longlongValue=733183670L;
System.out.println("longValue:"+(longValue));//打印longValue
System.out.println("longValue右移1位:"+(longValue>>1));//右移1位
System.out.println("longValue右移8位:"+(longValue>>8));//右移8位
//当long类型右移位数大于等于64位操作时,会先求余后再进行移位操作
System.out.println("longValue右移64位:"+(longValue>>64));//求余为64%64=0,相当于右移0位(不移位)
System.out.println("longValue右移72位:"+(longValue>>72));//求余为72%64=8,相当于右移8位
System.out.println("longValue右移128位:"+(longValue>>128));//求余为128%64=0,相当于右移0位(不移位)
3.无符号右移( >>> )
packagecom.xcy;
publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println(5>>3);//结果是0
System.out.println(-5>>3);//结果是-1
System.out.println(-5>>>3);//结果是536870911
}
}
4.位与( & )
packagecom.xcy;
publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println(5&3);//结果为1
}
}
5.位或( | )
packagecom.xcy;
publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println(5|3);//结果为7
}
}
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



















































暂无评论内容