例如,我有二进制数1011,它等于十进制数11。我想要反转位的位置,使其变成1101,即十进制数13。以下是代码:
例如,我有二进制数1011,它等于十进制数11。我想要反转位的位置,使其变成1101,即十进制数13。以下是代码:
import java.util.*;
public class bits {
public static void main(String[] args) {
Scanner scnr=new Scanner(System.in);
System.out.println("enter x:");
int x=scnr.nextInt();
int b=0;
while (x!=0){
b|=( x &1);
x>>=1;
b<<=1;
}
System.out.println(b);
}
}
但是当我输入 x 11 时,它打印出来的是 26。错在哪里了?
Integer.reverse(int i)
进行反转 - 但是看起来你想要反转比特数更少的整数,我将其留作注释。 - Andreas Dolk