题目要求
获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列
说明
要想得到一个整数中的每一个二进制数字,只有让它每个二进制数字都按位与(&)上 1
按位与1:有0则为0,无0才为1,
实现代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请您输入一个数字:");
int n = sc.nextInt();
// 从右往左数
System.out.print("二进制奇数位:");
for (int i = 30; i >= 0; i-=2) {//奇数位
System.out.print(((n>>i) & 1)+" ");
}
System.out.println();//换行
System.out.print("二进制偶数位:");
for (int i = 31; i >= 1; i-=2) {//偶数位
System.out.print(((n>>i) & 1)+" ");
}
}
}
输出结果
请您输入一个数字:7
二进制奇数位:0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
二进制偶数位:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
请您输入一个数字:73
二进制奇数位:0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
二进制偶数位:0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
觉得写的不错的话点个赞呗