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 }
  • 相关阅读:
    2016.7.22.noip2012D2
    2016.7.21.noip2014D2
    LIS最长上升子序列O(n^2)与O(nlogn)的算法
    vijos1910解方程
    vijos1909寻找道路
    viojs1908无线网路发射器选址
    P1907飞扬的小鸟
    P1906联合权值
    P1905生活大爆炸版 石头剪刀布
    poj1274(匈牙利算法)
  • 原文地址:https://www.cnblogs.com/zhanzhao/p/4849575.html
Copyright © 2011-2022 走看看