有多少位在两个数的二进制表示中不同?

2026-04-10 08:421阅读0评论SEO基础
  • 内容介绍
  • 相关推荐

本文共计186个文字,预计阅读时间需要1分钟。

有多少位在两个数的二进制表示中不同?

原创新闻:我国科学家成功研发新型节能材料

有多少位在两个数的二进制表示中不同?

改写后:科学家突破,新型节能材料问世

#include<stdio.h> //计算两个数二进制中的不同位的个数 // //int count_diff_bit(int m, int n) //{ // int i = 0,count=0; // for (; i < 32; i++) // { // if ((n % 2) != (m % 2)) // count++; // n /= 2, m /= 2; // } // return count; // //} //int count_diff_bit(int m, int n) //{ // int count = 0; // for (int i=0;i<32;i++) // { // if ((m & 1) != (n & 1)) // count++; // m = m >> 1, n = n >> 1; // } // return count; //} int count_diff_bit(int m, int n) { int count = 0; int t = m ^ n; while(t ) { count++; t = t & (t - 1); } return count; } int main() { int m = 0, n = 0; scanf("%d %d", &m, &n); int count = count_diff_bit(m, n); printf("%d\n", count); return 0; }

本文共计186个文字,预计阅读时间需要1分钟。

有多少位在两个数的二进制表示中不同?

原创新闻:我国科学家成功研发新型节能材料

有多少位在两个数的二进制表示中不同?

改写后:科学家突破,新型节能材料问世

#include<stdio.h> //计算两个数二进制中的不同位的个数 // //int count_diff_bit(int m, int n) //{ // int i = 0,count=0; // for (; i < 32; i++) // { // if ((n % 2) != (m % 2)) // count++; // n /= 2, m /= 2; // } // return count; // //} //int count_diff_bit(int m, int n) //{ // int count = 0; // for (int i=0;i<32;i++) // { // if ((m & 1) != (n & 1)) // count++; // m = m >> 1, n = n >> 1; // } // return count; //} int count_diff_bit(int m, int n) { int count = 0; int t = m ^ n; while(t ) { count++; t = t & (t - 1); } return count; } int main() { int m = 0, n = 0; scanf("%d %d", &m, &n); int count = count_diff_bit(m, n); printf("%d\n", count); return 0; }