Dark Mode On/Off

# Java Long rotateLeft() Method

Java `rotateLeft()` method is a part of the Long class of the `java.lang` package. This method is used to return the value obtained by rotating two's complement of the binary equivalent of the number passed as an argument towards the left (i.e towards higher-order) by the distance specified in the argument.

This method is based on the bit shifting operation where all the bits of the binary number are shifted left or right to a definite number of places. For example, `rotateLeft(10,1) `refers to the rotation of binary equivalent of 10 towards left by one bit. The equivalent binary of 10 is 00001010, and by shifting 1 bit left it will be converted into 00010100 (i.e is equal to 20).

It must be noted that left rotation with a negative distance is equivalent to right rotation: `rotateLeft(val, -distance) == rotateRight(val, distance)`.

### Syntax:

``public static long rotateLeft(long i, int distance) ``

### Parameters:

The parameters passed is a long value `i` who's binary equivalent bits are to be rotated and an integer distance to specify the number of position the bits are to be rotated.

### Returns:

Returns the value obtained by rotating two's complement of the binary equivalent of the long value passed as parameter towards the left (i.e towards higher-order) by the distance passed in the method.

## Example 1:

Here, a positive and a negative number is taken for a better understanding of the method. The `Long.toBinaryString()` method is used for representing the number in its binary equivalent.

``````import java.lang. * ;

public class StudyTonight {

public static void main(String[] args) {

long n1 = 4L;
long n2 = -4L;
int val = 3;

System.out.println("Binary equivalent is : " + Long.toBinaryString(n1));

for (int i = 0; i < val; i++) {
n1 = Long.rotateLeft(n1, val); //returns the value after rotation
System.out.println(n1);
}

System.out.println("Binary equivalent is : " + Long.toBinaryString(n2));

for (int i = 0; i < val; i++) {
n2 = Long.rotateLeft(n2, val); //returns the value after rotation
System.out.println(n2);
}
}
}``````

Binary equivalent is : 100
32
256
2048
Binary equivalent is : 1111111111111111111111111111111111111111111111111111111111111100
-25
-193
-1537

## Example 2:

Here is a user-defined example where anyone using this code can put a value of his choice and get the equivalent output.

``````import java.lang. * ;
import java.util. * ;

public class StudyTonight {

public static void main(String[] args) {
try {
System.out.println("Enter the value and distance");
Scanner sc = new Scanner(System. in );
long n = sc.nextLong();
int val = sc.nextInt();

System.out.println("Binary equivalent is : " + Long.toBinaryString(n));

for (int i = 0; i < val; i++) {
n = Long.rotateLeft(n, val); //returns the value after rotation
System.out.println(n);
}
}
catch(Exception e) {
System.out.println("Invalid Input");
}

}
}``````

Enter the value and distance
8 4
Binary equivalent is : 1000
128
2048
32768
524288
**********************************
Enter the value and distance
-8 6
Binary equivalent is : 1111111111111111111111111111111111111111111111111111111111111000
-449
-28673
-1835009
-117440513
-7516192769
-481036337153
***********************************
Enter the value and distance
0x56 2
Invalid Input

## Live Example:

Here, you can test the live code example. You can execute the example for different values, even can edit and write your examples to test the Java code.