1.6位运算思维:将整数的奇偶位互换

网友投稿 302 2022-09-02

1.6位运算思维:将整数的奇偶位互换

这里的整数的奇偶位互换,实际上是二进制上奇偶位的互换。而不是十进制上的奇偶位互换,15,换成51。

import java.util.Scanner;public class _05_交换奇偶位 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in =new Scanner(System.in); int b=in.nextInt(); System.out.println(m(b)); } public static int m(int i) { int ou=i&0xaaaaaaaa;//和1010 1010 1010.....做与运算取出偶数位 int ji=i&0x55555555;//和0101 0101 0101.....做与运算取出奇数位 return (ou>>1)^(ji<<1);//连起来 }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:1.4一题三解:二进制中1的个数
下一篇:手把手带你解析蓝桥云课《算法很美》--2.3多分支递归:斐波那契数列
相关文章

 发表评论

暂时没有评论,来抢沙发吧~