移位运算符

移位运算符

中文名称 位移运算符
目录导航

基本内容

在C或C++的应用

程序设计中,位操作运算符的一种。在c++中,移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值。左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定。在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。

在Java中的应用

在Java程序设计中,位移运算符是针对二进制的“位”,它主要包括:左移运算符(<<)、右移运算符(>>)、无符号右移运算符(>>>).

Java中的应用

左移运算符

是将运算符左边的对象向左移动运算符右边的指定位数,并且在低位补零。其实,向左移动a位,就相当于乘以2^a

实例

 

public class data

{

 public static void main(String[] args)

 {

  int a=2;

  int b=2;

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

 }

}

 

a位移运算结果是:8

带符号右移运算符

是将运算符左边的对象向右移动运算符右边的指定位数,并且在高位补零。如果是正数则在高位补零;如果是负数则在高位补1。

实例

public class data

{

 public static void main(String[] args)

 {

  int a=2;

  int b=2;

  int c=16;

  int d=-16;

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

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

 }

}

运算结果

c的位移结果是:4

d的位移结果是:-4

无符号右移运算符

是将运算符左边的对象向右移动运算符右边的指定位数,并在高位补零。其实是右移n位,相当于除以2^n.

实例

public class data

{

 public static void main(String[] args)

 {

  int a=16;

  int b=2;

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

 }

}

运算结果

a的位移结果是:4

相关百科
返回顶部
产品求购 求购