当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Integer rotateLeft()用法及代码示例


移位是一种按位运算,它通过向左或向右移动一定数量的位来对二进制值的所有位执行。 Java只有一个逻辑左移运算符(
java.lang.Integer.rotateLeft()方法用于将Integer值的位(以其二进制2的补码形式表示)向左移动指定的位数。 (位向左移或移至更高位)。

用法:

public static int rotateLeft(int value, int shifts)

参数:该方法有两个参数:


  • a:这是整数类型,是指要对其执行操作的值。
  • shifts:这也是整数类型,是指旋转距离。

返回值:该方法返回通过将指定int值的二进制补码二进制表示形式向左旋转指定数量的移位位数而获得的值。
例子:

Input: 12
Output: 24
Explanation:
Consider an integer a = 12 
Binary Representation = 00001100
After 1 left shift it will become=00011000
So that is= 24

以下示例程序旨在说明java.lang.Integer.rotateLeft()方法。
程序1:为正数。

// Java program to illustrate the 
// Java.lang.Integer.rotateLeft() method 
import java.lang.*; 
  
public class Geeks { 
  
    public static void main(String[] args) 
    { 
  
        int a = 2; 
        int shifts = 0; 
        while (shifts < 6) 
        // It will return the value obtained by rotating left 
        { 
            a = Integer.rotateLeft(a, 2); 
            System.out.println(a); 
            shifts++; 
        } 
    } 
}
输出:
8
32
128
512
2048
8192

程序2:为负数。

// Java program to illustrate the 
// Java.lang.Integer.rotateLeft() method 
import java.lang.*; 
  
public class Geeks { 
  
    public static void main(String[] args) 
    { 
  
        int a = -16; 
        int shifts = 0; 
        while (shifts < 2) 
        // It will return the value obtained by rotating left 
        { 
            a = Integer.rotateLeft(a, shifts); 
            System.out.println(a); 
            shifts++; 
        } 
    } 
}
输出:
-16
-31

程序3:用于十进制值和字符串。
注意:当将十进制值和字符串作为参数传递时,它将返回错误消息

// Java program to illustrate the 
// Java.lang.Integer.rotateLeft() method 
import java.lang.*; 
  
public class Geeks { 
  
    public static void main(String[] args) 
    { 
  
        int a = 15.71; 
        int shifts = 0; 
        while (shifts < 2) 
  
        { 
            a = Integer.rotateLeft(a, shifts); 
            System.out.println(a); 
            shifts++; 
        } 
        int b = "61"; 
        int shifts2 = 0; 
        while (shifts2 < 2) 
  
        { 
            b = Integer.rotateLeft(b, shifts2); 
            System.out.println(b); 
            shifts2++; 
        } 
    } 
}
输出:
prog.java:9: error: incompatible types: possible lossy conversion from double to int
    int a = 15.71;
            ^
prog.java:18: error: incompatible types: String cannot be converted to int
   int    b = "61";
              ^
2 errors


相关用法


注:本文由纯净天空筛选整理自ankita_chowrasia大神的英文原创作品 Integer rotateLeft() Method in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。