「java中的左移右移」Java 左移

博主:adminadmin 2023-01-27 17:24:07 220

本篇文章给大家谈谈java中的左移右移,以及Java 左移对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java左移运算符的问题,一定给分!

1.左移运算符

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

public class data17

{

public static void main(String[] args)

{

int a=2;

int b=2;

System.out.println("a 移位的结果是:"+(ab));

}

}

运行结果

a 移位的结果是:8

分析上面的程序段:

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

2.右移运算符

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

public class data18

{

public static void main(String[] args)

{

int a=16;

int b=2;

System.out.println("a 移位的结果是:"+(ab));

}

}

运行结果

a 移位的结果是:4

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

3.带符号的右移运算符

带符号的右移运算符用符号“”表示,是将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1,先看下面一个简单的例子。

public class data19

{

public static void main(String[] args)

{

int a=16;

int c=-16;

int b=2;

int d=2;

System.out.println("a 的移位结果:"+(ab));

System.out.println("c 的移位结果:"+(cd));

}

}

运行结果

a 的移位结果:4

c 的移位结果:-4

分析上面的程序段:

a 的值是16,转换成二进制是00010000,让它右移两位成00000100 即4。

c 的值是-16,转换成二进制是11101111,让它右移一位成11111011 即-4。

java左移和右移有什么用?

左移和右移并不常用,在一些特殊情况下才会使用,比如加解密时,会大量用到。

另外,偶尔在优化少数特殊代码的速度时可能用到,例如x*4就可以x2来代替,而后者比前者的速度快了好多倍。

Java中“a>>b”是什么意思?

是java中的移位运算符,是右移位,因为数据存储是二进制的所以左移1相当于乘以2的1次方,右移相当于乘以2的-1次方,例如\x0d\x0a : 右移运算符,num 1,相当于num除以2,num 2,相当于num除以2再除以2

a(1,2,3)java中什么意思

<和是java基础里的东西,就是左移和右移,比如a=10,转换成二进制就是1010,a1就是10100,再转换回去是20,那a1就相当于a*2,a3相当于a*(2*2*2),右移a1相当于a/2,不过用和速度快一点,因为用*/最终是用转换成和的。

java中的左移右移的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java 左移、java中的左移右移的信息别忘了在本站进行查找喔。