位运算符如何在java中转换进制?

在对于进制的变换上,每一个位运算符的操作代码都是不同的。进制之间的转换问题一直困扰着新学的小伙伴们,那么本篇带来的位运算符大家可一定不要错过。针对不同的位运算符,这里给出勒对应的代码解决方法。下面我们就来一起看看如何转换进制的吧。

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
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容