java.lang.Long rotateRight(long i, int distance)
Description
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.