获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
时间: 2023-04-28 12:04:41 浏览: 254
求给定正整数的位数和并逆序打印各位数
可以使用位运算符来获取整数二进制序列中的偶数位和奇数位。
偶数位可以通过与运算符(&)和二进制数10101010(即十进制数170)进行与运算来获取,然后将结果右移一位即可得到偶数位的二进制序列。
奇数位可以通过与运算符(&)和二进制数01010101(即十进制数85)进行与运算来获取,然后将结果左移一位即可得到奇数位的二进制序列。
以下是示例代码:
int num = 12345678; // 假设要获取该整数的二进制序列中的偶数位和奇数位
// 获取偶数位的二进制序列
int evenBits = (num & xAAAAAAAA) >> 1; // xAAAAAAAA即为10101010101010101010101010101010的十六进制表示
// 获取奇数位的二进制序列
int oddBits = (num & x55555555) << 1; // x55555555即为01010101010101010101010101010101的十六进制表示
// 打印偶数位和奇数位的二进制序列
System.out.println("偶数位的二进制序列:" + Integer.toBinaryString(evenBits));
System.out.println("奇数位的二进制序列:" + Integer.toBinaryString(oddBits));
阅读全文