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