版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Caiaixiong/article/details/84037251
无题
- 一般在做按位与运算时,用1去按位与会保留原数值,因此可以各自获取原数值所有的奇数位和偶数位,再对其进行交叉异或操作。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
//保留奇数位
int odd = i&0xaaaaaaaa;
//保留偶数位
int even = i&0x55555555;
//交错按位与
System.out.println("奇偶位交换后为:"+((odd>>1)^(even<<1)));
}
}