java.lang.Long rotateLeft(long i, int distance)

Description

The Long.rotateLeft(long i, int distance) java method returns the value obtained by rotating the two’s complement binary representation of the specified long value left by the specified number of bits. (Bits shifted out of the left hand, or high-order, side reenter on the right, or low-order.)
Note that left rotation with a negative distance is equivalent to right rotation: rotateLeft(val, -distance) == rotateRight(val, distance). Note also that rotation by any multiple of 64 is a no-op, so all but the last six bits of the rotation distance can be ignored, even if the distance is negative: rotateLeft(val, distance) == rotateLeft(val, distance & 0x3F).

Make a note that the rotateLeft() method of Long class is static thus it should be accessed statically which means the we would be calling this method in this format:

Long.rotateLeft(method args)

Non static method is usually called by just declaring method_name(argument) however in this case since the method is static, it should be called by appending the class name as suffix. We will be encountering a compilation problem if we call the java rotateLeft method non statically.

Method Syntax

public static int rotateLeft(long i, int distance)

Method Argument

Data Type Parameter Description
long i the value whose bits are to be rotated left
int distance the number of bit positions to rotate left

Method Returns

The rotateLeft(long i, int distance) method of Long class returns the value obtained by rotating the two’s complement binary representation of the specified long value left by the specified number of bits.

Compatibility

Requires Java 1.5 and up

Java Long rotateLeft(long i, int distance) Example

Below is a simple java example on the usage of rotateLeft(long i, int distance) method of Long class.

package com.javatutorialhq.java.examples;

import java.util.Scanner;

/*
 * This example source code demonstrates the use of  
 * rotateLeft(long i, int distance) method of Long class
 */

public class LongRotateLeftExample {

	public static void main(String[] args) {

		// Ask for user input
		System.out.print("Enter a value:");

		// declare a scanner object to read the user input
		Scanner s = new Scanner(System.in);

		// assign the input to a variable
		long value = s.nextLong();

		System.out.print("Enter the distance you "
				+ "want to rotate the bits:");
		int distance = s.nextInt();

		// get the the value obtained by rotating the two's complement binary
		// representation of the specified long value left by the specified
		// number of bits.
		long result = Long.rotateLeft(value, distance);

		// print the result
		System.out.println("Result:" + result);

		// close the scanner object
		s.close();

	}

}

Sample Output

Below is the sample output when you run the above example.

Java Long rotateLeft(long i, int distance) example output