位移用于编程中,并且每种编程语言至少具有一种变体。 Java具有单个逻辑右移运算符(>>)。移位是按位运算的一种。对二进制值的所有位进行位移位,该位将这些位向右移动一定数量的位置。如果值为0100; (即4)向右移动,则变为0010; (即2),它又再次向右移动,变为0001;或1。
java.lang.Integer.rotateRight()是一种方法,该方法通过将指定int值a的二进制补码二进制表示形式向右旋转指定位数来返回获得的值。位向右移,即低位。
用法:
public static int rotateRight(int a, int shifts)
参数:该方法有两个参数:
a:这是整数类型,是指要对其执行操作的值。
shifts:这也是整数类型,是指旋转距离。
返回值:rotateRight()方法返回通过将指定int值的二进制补码二进制数向右旋转指定位数获得的值。
以下程序说明了Java.lang.Integer.rotateRight()方法:
示例1:为正数。
// Java program to illustrate the
// Java.lang.Integer.rotateRight() method
import java.lang.*;
public class Geeks {
public static void main(String[] args)
{
int a = 64;
int shifts = 0;
while (shifts < 3)
// It will return the value obtained by rotating left
{
a = Integer.rotateRight(a, 2);
System.out.println(a);
shifts++;
}
}
}
输出:
16
4
1
示例2:为负数。
// Java program to illustrate the
// Java.lang.Integer.rotateRight() method
import java.lang.*;
public class Geeks {
public static void main(String[] args)
{
int a = -165;
int shifts = 0;
while (shifts < 3)
// It will return the value obtained by rotating left
{
a = Integer.rotateRight(a, 2);
System.out.println(a);
shifts++;
}
}
}
输出:
-42
-1073741835
1879048189