Work_8

Posted lkimprove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}

 







以上是关于Work_8的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段8——声明函数

MultipartFile.transferTo(targetFile)

VScode用户片段

Xcode 8 Autocomplete Broken - 仅显示有限的用户代码片段 - 知道为啥吗?

这些 C++ 代码片段有啥作用?

s12-day04-work01 简单计算器功能实现