如下程序段importstaticjava.lang.Long.*;publicclassTryBitMethods{publicstaticvoidmain(String[]args){longnumber=0xF0000000000000FL;System.out.println("number:\n"+toBinarySt...
如下程序段
import static java.lang.Long.*;
public class TryBitMethods{
public static void main(String[]args){
long number = 0xF0000000000000FL;
System.out.println("number:\n"+toBinaryString(number));
long result = rotateLeft(number,2);
System.out.println("number rotated left 2 bits:\n"+toBinaryString(number));
result = rotateRight(number,3);
System.out.println("number rotated right 3 bits:\n"+toBinaryString(number));
result = reverse(result);
System.out.println("Previous result reversed:\n"+toBinaryString(number));
System.out.println("Bit count in number:\n"+bitCount(number));
}
}
编译无报错 但实际结果如下
number:
111100000000000000000000000000000000000000000000000000001111
number rotated left 2 bits:
111100000000000000000000000000000000000000000000000000001111
number rotated right 3 bits:
111100000000000000000000000000000000000000000000000000001111
Previous result reversed:
111100000000000000000000000000000000000000000000000000001111
rotateLeft(number,2) 与rotateRight(number,3)
结果与result 相同?
展开