思路如下:
主要用到位运算:&,看图应该可以看懂,看不懂的再看看程序。
实现程序如下:
import java.util.Scanner;
public class main {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
int num = sca.nextInt();//输入整数
System.out.println("奇数位为:");//输出奇数位
for (int i = 31; i >= 1; i -= 2){
System.out.print(num>>i&1); //右移,然后与1得到该位的值
}
System.out.println();//换行
System.out.println("偶数位为:");//输出偶数位
for (int i = 30; i >= 0; i -= 2){
System.out.print(num>>i&1);//同奇数位
}
}
}
运行结果如下: