通过C语言“求俩个数的二进制不同位的个数”
Hellow,我是jack,今天给大家分享的是C语言实现求俩个数的二进制不同位的个数。话不多说,让我们直接进入正题。
首先,我们应该想到要求俩个不同数的二进制位的不同个数,我们就需要通过或运算符进行实现。
例如:9和10异或 9的二进制为1001 10的二进制为1010 进行异或后为 0011 将其转化为十进制为3.
ret = m ^ n;
所以现在ret的值为3,接下来我们就有俩种方法进行实现功能。
1.
int count = 0; while (ret){ret = ret / 2;count++;}
2.
int Num(int n) {int counts = 0;//设置一个值来计数for (int i = 0; i < 32; i++){if ((n >> i) & 1 == 1){counts++;}}return counts; }
这里给出的俩种方案想法是一样的,就是实现的手段不同。
最后。让我们把代码不充完整。
//求俩个数的二进制不同位的个数
int Num(int n)
{int counts = 0;//设置一个值来计数for (int i = 0; i < 32; i++){if ((n >> i) & 1 == 1){counts++;}}return counts;
}int main()
{int m = 0;int n = 0 ;int i = 0;scanf_s("%d %d", &m, &n);int ret = m ^ n;//按位异或 先将十进制转化为二进制 进行异或后 将将结果转化为 十进制int count= Num(ret); //int count = 0;//while (ret)//{// ret = ret / 2;// count++;//}printf("%d\n", count);return 0;
}
本章就和大家分享到这里,谢谢。
欢迎指正。
通过C语言“求俩个数的二进制不同位的个数”相关推荐
- 判断1000阶乘0的个数C语言,求1000阶乘的结果中0的个数(利用数组)
满意答案 starX009 2013.06.15 采纳率:50% 等级:12 已帮助:3201人 #include void main() { int a[3000]={1}; int n; p ...
- C语言求边长500以内的毕达哥拉斯三元组的个数
#include<stdio.h> #include<math.h> #include<stdlib.h>int main() {int side1; //直角边1 ...
- python求两数最大公因数_『用python求俩个数的最大公约数和最小公倍数』
python:用递归的方法编写一个函数gys(x,y),计算两个数字的最大公约数. (提示,大的 def gys(x,y): a,b=max(x,y),min(x,y) c=a%b if c==0: ...
- C语言算2个坐标点之间的距离,c语言求平面上2个坐标点的直线距离、求俩坐标直线距离作为半径的圆的面积、递归、菲波那次数列、explode...
#include #include #include char explode( char * str , char symbol ); double distance ( int x1 , int ...
- c语言x在二进制表示下1的个数,算法:计算十进制数字在二进制表示1的个数,...
算法:计算十进制数字在二进制表示1的个数, 题目一 计算十进制数字在二进制表示 1 的个数 举个例子: 十进制数字为 1 时,它的二进制表示是 001,二进制表示 1 的个数为 1: 十进制数字为 2 ...
- C语言(CED)从键盘输入一些整数,求出它们的平均值。数据的个数事先不确定,在输入过程中以ctrl+z键(EOF)作为输入结束的标记。
(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 要求: 1.从键盘输入一些整数,求出它们的平均值.数据的 ...
- php怎么求最小公倍数,C++_详解C语言求两个数的最大公约数及最小公倍数的方法,求两个正整数的最大公约数nbs - phpStudy...
详解C语言求两个数的最大公约数及最小公倍数的方法 求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y) ...
- c语言求平均值 保留三位小数,Excel求平均值时,保留小数位数与参与求平均值的个数有关...
在 Excel 中,求平均值用Average函数:它可分用快捷键求平均值.自动求平均值和输入公式求平均值,其中用快捷键求平均值速度最快,并且三种方法都可以对行列.任意单元格.指定区域甚至整个表格求平均 ...
- C语言 | 求奇偶数个数
例96:C语言编程求奇偶数的个数. 解题思路:奇数是指指不能被2整除的整数:偶数是能够被2所整除的整数. C语言源代码演示: #include<stdio.h>//头文件 int main ...
最新文章
- 精华:软件架构模式的7种武器
- 转:iFire:玩聚 SRBacks 自定义脚本及样式表
- 震旦ad208如何进入维修模式_今天才知道!华为手机维修时要开启这个功能,防止隐私被他人查看...
- java 图片上传非jsp_java问题用java代码在后台如何将jsp页面上的图片上传(是 爱问知识人...
- 如何将ListT转换相应的Html(xsl动态转换)(二)
- css 控制div高度自适应浏览器的高度
- 使用谷歌浏览器全文搜索资源文件中的关键词
- 常用html标签 —— 链接的颜色
- Araxis Merge pro for mac(文件对比合并同步工具)
- tesseract box_使用Qt Box Editor在自定义数据集上训练Tesseract
- lnmp 一键安装后 MySQL密码
- MySql批量插入语句(INSERT)
- matlab变量全局化,matlab全局变量global
- Unity免费资源汇总
- 使用python冻结excel窗格:sheet.freeze_panes
- 管理者该如何思考团队建设
- js获取当前农历时间
- 生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等...
- fwr310刷openwrt_迅捷FWR310无线路由器的刷机
- linux达人养成计划i,Linux达人养成计划 I
热门文章
- canvas刻画时间轴
- 甲醛排放、电器辐射… 如何去除家中“隐患”
- 家乡主题网页设计(小白必看)
- java随机数 范围_java随机数产生的范围该怎么定义?
- 微电子计算机学哪个好,国内“微电子学”专业最好的7所大学,都是重点名校,考上了前途无量!...
- python中mock的基本使用
- 跨平台(desktop,web,mobile)电子病历编辑器业务设计
- Math.random().toString(36)使用--- 随机生成数字与字母的组合
- HG255d通过U盘搭载php服务器,转:利用block-extroot,让你的openwrt运行在USB设备上。...
- 蓝牙技术|蓝牙BLE在可穿戴设备上的应用