zoukankan      html  css  js  c++  java
  • 位运算实现x+1

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 using namespace std;
     5 
     6 int main() {
     7     int x;
     8     while(cin >> x) {
     9         x = (x & 1) ? ( ( x & ((-1) << (((( ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) | ((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) > 0xFF) << 3)) | (((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) >> ((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) > 0xFF) << 3)) > 0xF) << 2)) | ((((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) >> ((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) > 0xFF) << 3)) >> (((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) >> ((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) > 0xFF) << 3)) > 0xF) << 2)) > 0x3) << 1)) | ((((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) >> ((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) > 0xFF) << 3)) >> (((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) >> ((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) > 0xFF) << 3)) > 0xF) << 2)) >> ((((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) >> ((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) > 0xFF) << 3)) >> (((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) >> ((( ((x ^ -1) & ( - (x ^ -1) ) ) >> ( ( ((x ^ -1) & ( - (x ^ -1) ) ) > 0xFFFF) << 4) ) > 0xFF) << 3)) > 0xF) << 2)) > 0x3) << 1)) >> 1)))) | ((x ^ -1) & ( - (x ^ -1) ) )) : x | 1;
    10         cout << x << endl;
    11     }
    12 }
  • 相关阅读:
    新的开始——3.3
    第一个周末——3.2
    恋爱知识大增——周五3.1
    相安无事——周四2.28
    好几天没写了。。。——周三2.27
    开学第二天——2.26
    开学第一天——2.25
    华为
    微软 Microsoft
    谷歌 google
  • 原文地址:https://www.cnblogs.com/zhanzhao/p/4849575.html
Copyright © 2011-2022 走看看