[C语言][题]两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同。

简介: [C语言][题]两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同。

1.

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

2.

int main()
{
  int count = 0;
  int m = 0;
  int n = 0;
  scanf("%d %d", &m, &n);
  int ret = m ^ n;
  while(ret)
  {
    ret = ret & (ret - 1);
    count++;
  }
  printf("%d\n", count);
  return 0;
}


目录
相关文章
|
2月前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
93 5
|
3月前
|
人工智能 算法 C语言
编写函数isprime(int a),用来判断自变量a是否为素数,若是素数,函数返回整数1,否则返回0
通过上述代码和解释,我们实现了一个高效判断素数的C语言函数 `isprime`。该函数结合了基础判断和优化的循环逻辑,确保高效准确地判断给定整数是否为素数。希望本文能帮助你更好地理解和实现素数判断算法。
73 1
|
8月前
|
C语言
【C语言刷题每日一题#牛客网BC6】输入三个整数,输出第二个整数
【C语言刷题每日一题#牛客网BC6】输入三个整数,输出第二个整数
|
8月前
|
C语言
C语言:从键盘读入三个整数,按从大到小输出
C语言:从键盘读入三个整数,按从大到小输出
|
8月前
|
存储 C语言
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
|
8月前
|
C语言
【C语言刷题每日一题】——求1到100中包含数字9的整数的个数
【C语言刷题每日一题】——求1到100中包含数字9的整数的个数
|
7月前
|
存储 Python
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
|
8月前
|
C语言
【C语言刷题系列】交换整数的奇数位和偶数位
【C语言刷题系列】交换整数的奇数位和偶数位
|
8月前
|
存储 C语言
【C语言进阶篇】整数在内存的存储——原码、反码、补码
【C语言进阶篇】整数在内存的存储——原码、反码、补码
|
8月前
|
C语言
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)