首页 > 其他分享 >写一个函数将a的二进制(补码)统计出来有几个1 (3种方法)

写一个函数将a的二进制(补码)统计出来有几个1 (3种方法)

时间:2023-08-16 23:00:41浏览次数:29  
标签:count return 函数 二进制 补码 ++ int printf bit

方法1:


int count_bit_one(unsigned int a)
{
	int count=0;
	while(a)
	{
		if(a%2==1)
		{
			count++;
		}
		a=a/2;
	}
	return count;
}
int main()   
{
	int a=0;
	int b=0;
	scanf("%d",&a);
	b=count_bit_one(a);
	printf("count=%d\n",b);
	return 0;
}

方法2:

int count_bit_one(unsigned int a)
{
	int count=0;
	while(a)
	{
		a=a&(a-1);
		count++;
	}
	return count;
}
int main()    
{
	int a=0;
	int b=0;
	scanf("%d",&a);
	b=count_bit_one(a);
	printf("count=%d\n",b);
	return 0;
}

方法3:

int count_bit_one(int a)
{
	int count=0;
	int i=0;
	for(i=0;i<32;i++)
	{
		if(((a>>i)&1)==1)
		{
			count ++;
		}
	}
	return count;
}
int main()    
{
	int a=0;
	int b=0;
	scanf("%d",&a);
	b=count_bit_one(a);
	printf("count=%d\n",b);
	return 0;
}

写一个函数将a的二进制(补码)统计出来有几个1 (3种方法)_函数

写一个函数将a的二进制(补码)统计出来有几个1 (3种方法)_函数_02

标签:count,return,函数,二进制,补码,++,int,printf,bit
From: https://blog.51cto.com/u_16190077/7114870

相关文章

  • 欧拉函数总结
    欧拉函数公式$n=p_1^{k_1}*p_2^{k_2}*\...\*p_n^{k_n}$$\phi(n)=n*\displaystyle\prod_{i=1}^{n}(1-\frac{1}{p_i})$试除法求欧拉函数#include<iostream>usingnamespacestd;intmain(){intn;cin>>n;while(n--){......
  • 2023.8.16 关于先前函数内外声明变量差异问题的答案
    答案:编译器无法在编译时求得一个非常量的值,它只能在运行时通过读取变量地址来间接得到变量的值,而全局变量在编译时就必须确定其值,故C有静态存储区数据必须用常量初始化的规定。在编译时只能用常量去初始化一个静态存储区的数据,而不能用“读取某个变量的内容”来初始化。来源:外部......
  • 无涯教程-Perl - sprintf函数
    描述此函数使用FORMAT基于LIST中的值返回格式化的字符串。本质上与printf相同,但是返回格式化的字符串而不是将其打印。语法以下是此函数的简单语法-sprintfFORMAT,LIST返回值此函数返回SCALAR(格式化的文本字符串)。例以下是显示其基本用法的示例代码-#!/usr/bin/......
  • SQL注入-mysql绕过函数注入
    1.判断注入点通过测试发现,这里过滤了空格和等于号。所以咱们用/**/代替空格,用like代替=,最后将构造的语句进行url编码,使用的是小葵转化工具。所以咱们构造如下语句。//and//1//like//1结果如下图,页面正常显示。接着咱们再构造如下语句。/**/and/**/1/**/like/**/2发现页面报错,说明存......
  • Streamlit 讲解专栏(五):探索强大而灵活的 st.write() 函数
    文章目录1前言2显示HTML的内容3显示Markdown内容4显示代码块5显示DataFrame的交互式表格6显示音频和视频7显示图表8显示图片9显示地图10显示PDF文件11显示文件下载链接12结语1前言在这篇博文中,我们将着重介绍Streamlit中一个核心而重要的函数,那就是st.write()。在之......
  • 带密匙的字符串加密解密函数(支持中文)
    usesAnsiStrings; FunctionJiaMi(Src:String;Key:String):String; var  KeyLen:Integer;  KeyPos:Integer;  offset:Integer;  dest:String;  SrcPos:Integer;  SrcAsc:Integer;  Range:Integer;  IntTemp:integer; ......
  • 经常用到的加解密函数
    以下程序可直接用,拷贝就可以了,希望可以起到抛砖引玉的作用。functionStrDecrypt(s:string;key:word):string;var i:byte;const fc1=2; fc2=3;begin //result[0]:=s[0]; setlength(result,length(s)); fori:=1tolength(s) do begin result[i]:=char(byte(s[i])xo......
  • 函数性能探测:更简单高效的 Serverless 规格选型方案
    作者:拂衣、丛霄2019年Berkeley预测Serverless将取代Serverful计算成为云计算新范式。Serverless为应用开发提供了一种全新系统架构。借助2023年由OpenAI所带来的AIGC风潮,以阿里云函数计算FC、AWSLambda为代表的Serverless以其更高成本效益、更简化的后端代码......
  • 无涯教程-Perl - socketpair函数
    描述此函数使用PROTOCOL在指定的DOMAIN(指定的TYPE)中创建一对未命名的连接Socket。如果未实现系统socketpair()函数,则将导致致命错误。语法以下是此函数的简单语法-socketpairSOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL返回值如果失败,此函数返回0,如果成功,则返回1。......
  • 字符串函数剖析(3)---strstr函数
    1.strstr函数的巧妙--查找子字符串1.1模拟实现strstr函数strstr函数:在一个字符串中查找子串学习新函数时,先去c库查找该函数的相关资料,更加助于你的学习constchar*strstr(constchar*str1,constchar*str2);先看函数的声明,参数是两个地址,不可更改。先看看strstr函数......