如何统计二进制序列中1的个数的三种算法(谷歌笔试题)

简介: 如何统计二进制序列中1的个数的三种算法(谷歌笔试题)

方法一:(缺点:无法计算负数)



count_ont(int n)
{
  int count = 0;
  while (n)
  {
    if (n % 2 == 1)//如果不是一的话说明最后一位是0
    {
      count++;
    }
    n=n/2;
  }
  return count;
}
int main()
{
  int a = 0;
  scanf_s("%d  ", &a);
  int  count = count_ont(a);
  return 0;
}


方法2:



count_ont(unsigned int n)
{
  int i = 0;
  int count=0;
  for(i=0;i<31;i++)
  {
    if(((n>>i)&1)==1)//向右移动一位
    {
    count++;
    }
  }
  return count;
}
int main()
{
  int a = 0;
  scanf_s("%d  ", &a);
  int  count = count_ont(a);
  return 0;
}


方法3:(最精简)



#include<stdio.h>
int count_ont(int n)
{
    int count=0;
    while(n)
    {
        n=n&(n-1);//这个算法可以让n的二进制位的最右边的一个1变成0
        count++;
    }//有几个一就循环几次
    return count;
}
int main()
{
  int a = 0;
  scanf_s("%d  ", &a);
  int  count = count_ont(a);
  return 0;
}




相关文章
|
23天前
|
存储 算法 索引
模拟算法题练习(二)(DNA序列修正、无尽的石头)
模拟算法题练习(二)(DNA序列修正、无尽的石头)
|
23天前
|
算法 测试技术 C++
【动态规划】【图论】【C++算法】1575统计所有可行路径
【动态规划】【图论】【C++算法】1575统计所有可行路径
|
3天前
|
机器学习/深度学习 搜索推荐 算法
【再识C进阶2(下)】详细介绍指针的进阶——利用冒泡排序算法模拟实现qsort函数,以及一下习题和指针笔试题
【再识C进阶2(下)】详细介绍指针的进阶——利用冒泡排序算法模拟实现qsort函数,以及一下习题和指针笔试题
|
23天前
|
算法
【免费】面向多微网网络结构设计的大规模二进制矩阵优化算法
【免费】面向多微网网络结构设计的大规模二进制矩阵优化算法
|
23天前
|
机器学习/深度学习 人工智能 运维
人工智能平台PAI 操作报错合集之请问Alink的算法中的序列异常检测组件,是对数据进行分组后分别在每个组中执行异常检测,而不是将数据看作时序数据进行异常检测吧
阿里云人工智能平台PAI (Platform for Artificial Intelligence) 是阿里云推出的一套全面、易用的机器学习和深度学习平台,旨在帮助企业、开发者和数据科学家快速构建、训练、部署和管理人工智能模型。在使用阿里云人工智能平台PAI进行操作时,可能会遇到各种类型的错误。以下列举了一些常见的报错情况及其可能的原因和解决方法。
|
23天前
|
算法 数据安全/隐私保护 数据格式
基于混沌序列的图像加解密算法matlab仿真,并输出加解密之后的直方图
该内容是一个关于混沌系统理论及其在图像加解密算法中的应用摘要。介绍了使用matlab2022a运行的算法,重点阐述了混沌系统的特性,如确定性、非线性、初值敏感性等,并以Logistic映射为例展示混沌序列生成。图像加解密流程包括预处理、混沌序列生成、数据混淆和扩散,以及密钥管理。提供了部分核心程序,涉及混沌序列用于图像像素的混淆和扩散过程,通过位操作实现加密。
|
23天前
|
编解码 算法 数据可视化
【视频】时间序列分类方法:动态时间规整算法DTW和R语言实现
【视频】时间序列分类方法:动态时间规整算法DTW和R语言实现
|
23天前
|
算法 测试技术 C#
【字典树】【KMP】【C++算法】3045统计前后缀下标对 II
【字典树】【KMP】【C++算法】3045统计前后缀下标对 II
|
23天前
|
存储 算法
从动态规划到贪心算法:最长递增子序列问题的方法全解析
从动态规划到贪心算法:最长递增子序列问题的方法全解析
162 2
|
23天前
|
存储 人工智能 算法
大数乘法的几种算法分析及比较(2014腾讯南京笔试题)
大数乘法的几种算法分析及比较(2014腾讯南京笔试题)