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

Description

The Long.rotateRight(long i, int distance) java method returns the value obtained by rotating the two’s complement binary representation of the specified long value right by the specified number of bits. (Bits shifted out of the right hand, or low-order, side reenter on the left, or high-order.)
Note that right rotation with a negative distance is equivalent to left rotation: rotateRight(val, -distance) == rotateLeft(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: rotateRight(val, distance) == rotateRight(val, distance & 0x3F).

Make a note that the rotateRight() 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.rotateRight(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 rotateRight method non statically.

Method Syntax

public static int rotateRight(long i, int distance)

Method Argument

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

Method Returns

The rotateRight(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 right by the specified number of bits.

Compatibility

Requires Java 1.5 and up

Java Long rotateRight(long i, int distance) Example

Below is a simple java example on the usage of rotateRight(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  
 * rotateRight(long i, int distance) method of Long class
 */

public class LongRotateRightExample {

	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 right by the specified
		// number of bits
		long result = Long.rotateRight(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 rotateRight(long i, int distance) example output