C语言十六弹 --求两个整数二进制位不同的位数

简介: C语言十六弹 --求两个整数二进制位不同的位数

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

思路:1.要求不同的个数 就必须遍历比较两个数的二进制位,不同就使用一个三方变量接收++,相同则跳过。

2.使用一个相同的三方变量来作为两者判断条件的基础,而考虑到需要遍历二进制位 则使用1来作为三方变量。

3.比较方法:通过过使用移位符进行依次比较 如果不相同证明位数不同 则三方变量++。

for (int i = 0; i < 32; i++)
{
  if (((a >> i)&1) != ((b >> i)&1))
  {
    count++;
  }
}

总代码

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
  int a = 0, b = 0;
  scanf("%d %d", &a, &b);
  int count = 0;
  for (int i = 0; i < 32; i++)
  {
    if (((a >> i)&1) != ((b >> i)&1))
    {
      count++;
    }
  }
  printf("%d",count);
  return 0;
}


相关文章
|
15天前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
27 5
|
2月前
|
C语言
【C语言】三位数(1-4)不重复组合
【C语言】三位数(1-4)不重复组合
|
6月前
|
存储 C语言
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
|
6月前
|
C语言
【C语言刷题系列】交换整数的奇数位和偶数位
【C语言刷题系列】交换整数的奇数位和偶数位
|
6月前
|
存储 C语言
【C语言进阶篇】整数在内存的存储——原码、反码、补码
【C语言进阶篇】整数在内存的存储——原码、反码、补码
|
6月前
|
C语言
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
|
C语言
《C语言及程序设计》实践参考——分离整数和小数部分
返回:贺老师课程教学链接  C语言及程序设计初步  项目要求 要求:编写一个程序,其功能为:从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分。样例输入:123.456样例输出:123 456 [参考解答] #include &lt;stdio.h&gt; int main() { float x; int a, b; scanf("%
1960 0
|
15天前
|
存储 C语言 开发者
【C语言】字符串操作函数详解
这些字符串操作函数在C语言中提供了强大的功能,帮助开发者有效地处理字符串数据。通过对每个函数的详细讲解、示例代码和表格说明,可以更好地理解如何使用这些函数进行各种字符串操作。如果在实际编程中遇到特定的字符串处理需求,可以参考这些函数和示例,灵活运用。
36 10
|
15天前
|
存储 程序员 C语言
【C语言】文件操作函数详解
C语言提供了一组标准库函数来处理文件操作,这些函数定义在 `<stdio.h>` 头文件中。文件操作包括文件的打开、读写、关闭以及文件属性的查询等。以下是常用文件操作函数的详细讲解,包括函数原型、参数说明、返回值说明、示例代码和表格汇总。
37 9
|
15天前
|
存储 Unix Serverless
【C语言】常用函数汇总表
本文总结了C语言中常用的函数,涵盖输入/输出、字符串操作、内存管理、数学运算、时间处理、文件操作及布尔类型等多个方面。每类函数均以表格形式列出其功能和使用示例,便于快速查阅和学习。通过综合示例代码,展示了这些函数的实际应用,帮助读者更好地理解和掌握C语言的基本功能和标准库函数的使用方法。感谢阅读,希望对你有所帮助!
30 8