zoukankan      html  css  js  c++  java
  • c语言 7-5

    1、

    #include <stdio.h>
    
    unsigned set_n(unsigned x, int pos, int n)
    {
        int i;
        for(i = pos; i <= pos + n - 1; i++)
        {
            x = x | 1U << i;
        }
        return x;
    }
    
    unsigned reset_n(unsigned x, int pos, int n)
    {
        int i;
        for(i = pos; i <= pos + n - 1; i++)
        {
            x = x & ~(1U << i);
        }
        return x;
    }
    
    unsigned inverse_n(unsigned x, int pos, int n)
    {
        int i;
        for(i = pos; i <= pos + n - 1; i++)
        {
            x = x ^ 1U << i;
        }
        return x;
    }
    
    int main(void)
    {
        unsigned x;
        int pos, n;
        puts("please intput the test number ,move bits, and range span.");
        printf("x = "); scanf("%u", &x);
        printf("pos = "); scanf("%d", &pos);
        printf("n = "); scanf("%d", &n);
        
        printf("set      1      = %u
    ", set_n(x, pos, n));
        printf("set      0      = %u
    ", reset_n(x, pos, n));
        printf("inverse         = %u
    ", inverse_n(x, pos, n));
        
        return 0;
    }

    2、

    #include <stdio.h>
    
    unsigned set_n(unsigned x, int pos, int n)
    {
        int i;
        for(i = pos; i <= pos + n - 1; i++)
        {
            x = x | 1U << i;
        }
        return x;
    }
    
    unsigned reset_n(unsigned x, int pos, int n)
    {
        int i;
        for(i = pos; i <= pos + n - 1; i++)
        {
            x = x & ~(1U << i);
        }
        return x;
    }
    
    unsigned inverse_n(unsigned x, int pos, int n)
    {
        int i;
        for(i = pos; i <= pos + n - 1; i++)
        {
            if(x >> i & 1U)
                x = x & ~(1U << i);
            else
                x = x | 1U << i;
        }
        return x;
    }
    
    int main(void)
    {
        unsigned x; int pos, n;
        puts("please input the test number pos span.");
        printf("x = "); scanf("%u", &x);
        printf("pos = "); scanf("%d", &pos);
        printf("n = "); scanf("%d", &n);
        
        printf("set       0        = %u
    ", set_n(x, pos, n));
        printf("set       1        = %u
    ", reset_n(x, pos, n));
        printf("inverse            = %u
    ", inverse_n(x, pos, n));
        
        return 0;
    }

    3、

    #include <stdio.h>
    
    unsigned set_n(unsigned x, int pos, int n)
    {
        int i;
        for(i = pos; i <= pos + n - 1; i++)
        {
            x = x | 1U << i;
        }
        return x;
    }
    
    unsigned reset_n(unsigned x, int pos, int n)
    {
        int i;
        for(i = pos; i <= pos + n - 1; i++)
        {
            if(x & 1U << i)
                x = x ^ 1U << i;
            else
                x = x;
        }
        return x;
    }
    
    unsigned inverse_n(unsigned x, int pos, int n)
    {
        int i;
        for(i = pos; i <= pos + n - 1; i++)
        {
            x = x ^ 1U << i;
        }
        return x;
    }
    
    int main(void)
    {
        unsigned x; int pos, n;
        puts("please input test number, pos and span.");
        printf("x = "); scanf("%u", &x);
        printf("pos = "); scanf("%d", &pos);
        printf("n = "); scanf("%d", &n);
        
        printf("set      1       = %u
    ", set_n(x, pos, n));
        printf("set      0       = %u
    ", reset_n(x, pos, n));
        printf("inverse          = %u
    ", inverse_n(x, pos, n));
        
        return 0;
    }

  • 相关阅读:
    django项目环境设置
    django模板中自动加载static
    linux更换shell外壳zsh
    MNIST数据集入门
    Xshell连接虚拟机突然被拒,提示再次输入密码。。。
    docker-ubuntu镜像,nginx镜像
    linux-ububtu64位安装docker,及基本命令
    linux-修改pip源
    centos 7怎么通过图形界面来配置静态ip
    centos7 真实机安装后没有网卡解决办法
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14793321.html
Copyright © 2011-2022 走看看