网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C语言|求两个数的二进制中不同位的个数-创新互联

方法一:

成都创新互联专注于企业营销型网站建设、网站重做改版、老河口网站定制设计、自适应品牌网站建设、html5商城网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为老河口等各大城市提供网站开发制作服务。

结果:

//求两个数的二进制中不同位的个数
int diff() {
 int a = 0;
 int b = 0;
 int count = 0;
 int i = 0;
 scanf("%d %d", &a,&b);
 for (i = 0; i< 32; i++) {
     if (((a >>i) & 1) != ((b >>i) & 1)) {
         count++;
     }
 }
 return count;
}

int main() {
 int sum = diff();
 printf("%d\n", sum);
 return 0;
}

方法二(最优解):

这里用到了之前我博客写过的求一个二进制数有多少个1的方法

链接:http://t.csdn.cn/9EyfG

结果:

代码:

int diff2() {
 int a = 0;
 int b = 0;
 int count = 0;
 scanf("%d %d", &a, &b);
 //这里可以用按位异或^,相同的为0,不同的为1,
 //这样就只要统计按位异或后的1的个数
 int ret = a ^ b;
 int result = getnumCount(ret);
 return result;
}

int main() {
 int sum = diff2();
 printf("%d\n", sum);
 return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


新闻名称:C语言|求两个数的二进制中不同位的个数-创新互联
分享URL:http://bjjierui.cn/article/ccccee.html

其他资讯