【蓝桥杯】判断是否是2的整数次方、将整数的二进制码奇偶位互换--利用位运算解决

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		int N=input.nextInt();
		if(((N-1)&N)==0) {
			System.out.println(N+"是2的整数次方");
		}
		else {
			System.out.println(N+"不是2的整数次方");
		}
	}
}
import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		int N=input.nextInt();
		//保留奇数位
		int a=N&0x55555555;
		//保留偶数位
		int b=N&0xaaaaaaaa;
		//奇偶位互换后的数
		int c=(a<<1)^(b>>1);
		System.out.println(c);
	}
}

你可能感兴趣的:(蓝桥杯,蓝桥杯,java,职场和发展)