zoukankan      html  css  js  c++  java
  • 算法基础练习-_05将整数的奇偶位互换

    将整数的奇偶位互换

    import org.assertj.core.api.Assertions;
    
    public class _05_交换奇偶位 {
    
      public static void main(String[] args) {
        int a = 0b01000000_00000000_00000000_00000000;
        System.out.println(a);
        int b = m(a);
        System.out.println(b);
        Assertions.assertThat(b).isEqualTo(0b10000000_00000000_00000000_00000000);  //一个第三方库,判断b是否和括号里的一致
      }
    
      private static int m(int i) {
        int ou = i & 0xaaaaaaaa;//和1010 1010 1010 。。。。做与运算取出偶数位
        int ji = i & 0x55555555;//和0101 0101 0101.。。。。做与运算取出奇数位
        return (ou >> 1) ^ (ji << 1); // 运用 异或 连起来
      }
    }
    

    要点:

    利用位运算进行运算


    2021年2月15日
  • 相关阅读:
    linux命令大全
    IP协议
    TCP、IP、ARP协议之间的工作关系
    程序出现问题后
    HTTP(超文本传输协议)
    多线程
    syslog.conf文件
    logger命令
    gdb
    二、数据的存储结构
  • 原文地址:https://www.cnblogs.com/btlord/p/14404311.html
Copyright © 2011-2022 走看看