zoukankan      html  css  js  c++  java
  • Work_8

    写一个函数返回参数二进制中 1 的个数
    比如: 15  =>  0000 1111  =>  4 个 1

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    int Count_one_bits(unsigned int value){
        int count = 0;
        for (int i = 0; i < 8; i++){
            if ((value >> i) & 1){
                count++;
            }
        }
        return count;
    }
    
    int main(){
        int input;
        printf("请输入一个整数:
    ");
        scanf("%d", &input);
        printf("该整数的二进制中1的个数为:%d", Count_one_bits(input));
        printf("
    ");
        system("pause");
        return 0;
    }

    获取一个数二进制序列中所有的偶数位和奇数位,
    分别输出二进制序列。

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    void Bit(int input){
        int temp = 0;
        printf("该整数二进制的偶数位为:
    ");
        for (int i = 31; i > 0; i = i - 2){
            temp = (input >> i) & 1;
            printf("%d ", temp);
        }
        printf("
    ");
        printf("该整数二进制的奇数位为:
    ");
        for (int i = 30; i >= 0; i = i - 2){
            temp = (input >> i) & 1;
            printf("%d ", temp);
        }
    }
    
    int main(){
        int input;
        printf("请输入一个整数:
    ");
        scanf("%d", &input);
        Bit(input);
        printf("
    ");
        system("pause");
        return 0;
    }

    输出一个整数的每一位。

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    void Number(int input){
        //从最高为开始打印
        if (input < 9){
            printf("%d ", input);
            return;
        }
        Number(input / 10);
        printf("%d ", input % 10);
        return;
    
        ////从最低位开始打印
        //if (input > 9){
        //    printf("%d  ", input % 10);
        //    return Number(input / 10);
        //}
        //printf("%d ", input);
    }
    
    int main(){
        int input ;
        printf("请输入一个整数:
    ");
        scanf("%d", &input);
        printf("该整数的每一位为:
    ");
        Number(input);
        printf("
    ");
        system("pause");
        return 0;
    }

    编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
    输入例子:
    1999 2299
    输出例子:7

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    int Compare(int input1, int input2){
        int count = 0;
        for (int i = 0; i < 16; i++){
            if (((input1 >> i) & 1) != ((input2 >> i) & 1)){
                count++;
            }
        }
        return count;
    }
    
    int main(){
        int input1, input2;
        printf("请输入两个整数:
    ");
        scanf("%d %d", &input1, &input2);
        printf("%d", Compare(input1, input2));
        printf("
    ");
        system("pause");
        return 0;
    }
  • 相关阅读:
    Atos cannot get symbols from dSYM of archived application
    iOS 中捕获程序崩溃日志 (2014-04-22 17:35:59)
    mysql创建索引
    maven整理项目spring配置文件加载问题
    js继承
    创建对象的方式
    js闭包
    js两种创建对象方式
    shiro-web整合
    shiro连接数据库
  • 原文地址:https://www.cnblogs.com/lkimprove/p/10171710.html
Copyright © 2011-2022 走看看