zoukankan      html  css  js  c++  java
  • 数论——位运算(C++)

    #include<cstdio>
    int n;
    void x1_and()
    {
        if (n&1)
          printf("奇数
    ");
        else
          printf("偶数
    ");
    }
    void x2_or()
    {
        printf("%d
    ",n|1); //+1奇数 。 
        printf("%d
    ",(n|1)-1); //-1偶数。 
    }
    void x3_xor()
    {
        printf("%d
    ",n^1); //奇偶转换,+1奇数,-1偶数。 
        printf("%d
    ",n^1^1); //类似于负负得正的规律。
    }
    void x4_not()
    {
        unsigned short a=2;
        a=~a; //注意,不等同于直接输出~a。 
        printf("%d
    ",a); //处理后,a为short类型的最大值。
        unsigned int b=n;
        printf("%d
    ",~b); //此方式输出-b-1,注意,等同于如上方式处理任何整型。 
    }
    void x5_shl()
    {
        printf("%d
    ",1<<n); //等同于1乘以2的n次方,故在二进制数后每加一个0,就相当于乘一次2。 
    }
    void x6_shr()
    {
        printf("%d
    ",n>>1); //等同于n整除一次2的1次方。 
    }
    int main()
    {
        scanf("%d",&n);
        x1_and(); //用于判断整数的奇偶。
        x2_or(); //用于临近的奇偶转换。
        x3_xor(); //注意,相同为0,不同为1,作用同上。
        x4_not();
        x5_shl();
        x6_shr();
        return 0;
    }
  • 相关阅读:
    学习进度八
    ”“口袋“app的nabcd
    学习进度7
    软工人3月7日学习记录
    软工人3月6日学习
    软工人3月5日学习
    开课博客
    android入门之Android环境配置
    大二寒假学习
    python链接数据库并创建表
  • 原文地址:https://www.cnblogs.com/koruko/p/5221921.html
Copyright © 2011-2022 走看看