- 问题
- 分析
- 代码
- 结果
获取一个数二进制序列中所有的偶数位和奇数位,分别输出其奇数和偶数的二进制序列。
例如:30的二进制序列0000 0000 0000 0000 0000 0000 0001 1110
偶数序列为:0000 0000 0000 0011
奇数序列为:0000 0000 0000 0110
要得到偶数序列,先将每个偶数位移到最后一位,然后按位与1,就得到了这一位;要得到奇数序列,先将每个奇数位移到最后一位,然后按位与1,就得到了这一位。一个数按位与1,结果为0,那个数就是0;结果为1,那个数就是1。
代码package Tes;
import java.util.Scanner;
import java.util.Random;
public class Test {
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
//打印奇数位
System.out.println("奇数位:");
for(int i=30;i>=0;i-=2){
System.out.print((n>>i)&1);
}
System.out.println();
//打印偶数位
System.out.println("偶数位:");
for(int i=31;i>=1;i-=2){
System.out.print((n>>i)&1);
}
}
}
结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)