我是靠谱客的博主 精明战斗机,最近开发中收集的这篇文章主要介绍C语言-测试一个整数中有多少个1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include <stdio.h>

/*
** 这个函数返回参数值中值为 1 的位的个数。
*/

int count_one_bits0(unsigned value)
{
    int ones;

    for (ones = 0; value != 0; value = value >> 1)
    {
        if (value % 2 != 0)
            ones = ones + 1;
    }
    return ones;
}

int count_one_bits1(unsigned value)
{
    int ones;

    for (ones = 0; value != 0; value >>= 1)
    {
        if (value & 1)
            ones += 1;
    }
    return ones;
}

int main(int argc, char *argv[])
{
    int temp = 32;
    int temp2 = -32;

    printf("%d %drn", count_one_bits0(3), count_one_bits0(4));
    printf("%d %drn", count_one_bits0(15), count_one_bits0(16));

    printf("%d %drn", count_one_bits1(3), count_one_bits1(4));
    printf("%d %drn", count_one_bits1(15), count_one_bits1(16));
}
/**
 * 编译:gcc -o test test.c
 * 运行:./test
 * 结果
 * 2 1
 * 4 1
 * 2 1
 * 4 1
*/

最后

以上就是精明战斗机为你收集整理的C语言-测试一个整数中有多少个1的全部内容,希望文章能够帮你解决C语言-测试一个整数中有多少个1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部