當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。