当前位置: 首页 > news >正文

求两个数二进制中不同位的数

//求两个数二进制中不同位的数
//编程实现:两个int(32位)整数m和n的二进制表达中,
//有多少个位(bit)不同?
//输入例子 :1999 2299
//输出例子:7
#include<stdio.h>
int main()
{//第一步:输入一个整数int a = 0;printf("请输入一个整数:");scanf("%d", &a);//第二步:将这个整数(十进制)转换成二进制//15/2=7 7/2=3 3/2=1 1/2=0//15%2=1 7%2=1 3%2=1 1%2=1//一共有三十二位数,32-n//n是存入的个数//写一个数组,存入二进制数int b[32] = { 0 };int c[32] = { 0 };int j = 0;int i = 0;while (a){i = a % 2;b[j++] = i;a = a / 2;}//输出一个b数组看看for (i = 0; i < 32; i++){printf("%d ", b[i]);}printf("\n");int d = j - 1;//将二进制数,存入cfor (i = 32 - j; i < 32; i++){c[i] = b[d--];}//输出一个c看看for (i = 0; i < 32; i++){printf("%d ", c[i]);}printf("\n");int s = 0;printf("请输入一个整数:");scanf("%d", &s);int e[32] = { 0 };int f[32] = { 0 };j = 0;i = 0;while (s){i = s % 2;e[j++] = i;s = s / 2;}//输出一个e数组看看for (i = 0; i < 32; i++){printf("%d ", e[i]);}printf("\n");d = j - 1;//将二进制数,存入ffor (i = 32 - j; i < 32; i++){f[i] = e[d--];}//输出一个f看看for (i = 0; i < 32; i++){printf("%d ", f[i]);}printf("\n");d = 0;for (i = 0; i < 32; i++){if (c[i] == f[i])continue;elsed++;}printf("%d\n",d);return 0;}

输出结果:


http://www.mrgr.cn/news/33635.html

相关文章:

  • UML——统一建模语言
  • Git 向远程仓库推送更改时加注释
  • OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【文件系统】上
  • 【comfyUI工作流】一键生成专属欧美漫画!
  • 视频怎么剪切掉一部分?6款视频剪切软件,零基础也能快速学会!
  • 【Java笔记】第12章:常用类
  • 基于单片机的无线宠物自动喂食系统设计
  • 实时同步 解决存储问题 sersync
  • 告别条件判断:策略模式让代码更优雅
  • c++类与对象一
  • AgentScope中带有@功能的多Agent组对话
  • python爬虫案例——异步加载网站数据抓取,post请求(6)
  • CCF csp认证 小白必看
  • error -- unsupported GNU version gcc later than 10 are not supported;(gcc、g++)
  • 条件编译及头文件包含
  • DAY78服务攻防-数据库安全RedisCouchDBH2database未授权访问CVE 漏洞
  • ModbusTCP通讯错误的排查
  • 数据处理与统计分析篇-day08-apply()自定义函数与分组操作
  • 【掘金量化使用技巧】用日线合成长周期k线
  • golang学习笔记8-运算符与输入