Java 移位运算符的复合_Java移位运算符详解实例(小结)

Java移位运算符详解实例(小结)

发布于 2020-6-12|

复制链接

摘记: 移位运算符它主要包括:左移位运算符(<>>)、带符号的右移位运算符(>>),移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数。

运算符

含义

..

移位运算符它主要包括:左移位运算符(>>)、带符号的右移位运算符(>>),移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数。

运算符

含义

左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)

>>

"有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1.

>>>

"无符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0

1.左移运算符左移运算符用“

```java

public class test{

public static void main(String[] args) {

int a=2,b=2,c;

c=a输出结果:8分析上面代码,2 的二进制是00000010,它向左移动2 位,就变成了00001000,即8。如果从另一个角度来分析,它向左移动2 位,其实就是乘上2 的2 次方,结果还是82.无符号右移运算符右移运算符无符号用“>>>”表示,是将运算符左边的对象向右移动运算符右边指定的位数,并且在高位补0,其实右移n 位,就相当于除上2 的n 次方

```java

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 次方,结果还是43.带符号的右移运算符带符号右移运算符用“>>”表示,是将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1

```java

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));

}

}

```


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部