温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中有哪些移位运算符

发布时间:2022-01-07 17:34:26 来源:亿速云 阅读:110 作者:iii 栏目:编程语言

这篇文章主要介绍了Java中有哪些移位运算符的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中有哪些移位运算符文章都会有所收获,下面我们一起来看看吧。

1.左移运算符

左移运算符用“<<”表示,是将运算符左边的对象,向左移动运算符右边指定的位数,并且在低位补零。其实,向左移n 位,就相当于乘上2 的n 次方,例如下面的例子。

public class test{ public static void main(String[] args) {  int a=2,b=2,c;  c=a<<b;  System.out.print("a 移位的结果是"+c); }}

输出结果:8

分析上面代码,2 的二进制是00000010,它向左移动2 位,就变成了00001000,即8。如果从另一个角度来分析,它向左移动2 位,其实就是乘上2 的2 次方,结果还是8

2.无符号右移运算符

右移运算符无符号用“>>>”表示,是将运算符左边的对象向右移动运算符右边指定的位数,并且在高位补0,其实右移n 位,就相当于除上2 的n 次方

public class test{ public static void main(String[] args) {  int a=16;  int b=2;  System.out.println("a 移位的结果是"+(a>>>b)); }}

输出结果 :4

分析上面代码:16 的二进制是00010000,它向右移动2 位,就变成了00000100,即4。如果从另一个角度来分析,它向右移动2 位,其实就是除以2 的2 次方,结果还是4

3.带符号的右移运算符

带符号右移运算符用“>>”表示,是将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1

public class test{ public static void main(String[] args) {  int a=16;  int c=-16;  int b=2;  int d=2;  System.out.println("a 的移位结果:"+(a>>b));  System.out.println("c 的移位结果:"+(c>>d)); }}

输出结果: 4和-4

分析上面代码:a 的值是16转换成二进制是00010000,让它右移两位成00000100 即4,c 的值是-16转换成二进制是11101111,让它右移一位成11111011 即-4

关于“Java中有哪些移位运算符”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java中有哪些移位运算符”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI