【leetcode】配对交换

 

int exchangeBits(int num){
    double i = 0;
    int even, ood;
    int val = num;
    while (val){
        even = num & (int)pow(2.0,i);
        ood = num & (int)pow(2.0, i + 1);
        if (even == 0 && ood != 0 || even != 0 && ood == 0){
            num ^= (int)pow(2.0, i);
            num ^= (int)pow(2.0, i + 1);
        }
        i += 2;
        val >>= 2;
    }
    return num;
}

 

posted @ 2020-11-10 00:21  温暖了寂寞  阅读(85)  评论(0编辑  收藏  举报