首页 > 其他 > 详细

俩个int型变量m,n中有多少个bit位不同。

时间:2015-12-31 21:10:40      阅读:136      评论:0      收藏:0      [点我收藏+]

#include<stdio.h>

#include<stdlib.h>


int main()

{

int diff_count();

int num1 = 0;

int num2 = 0;

scanf("%d", &num1);

scanf("%d", &num2);

int ret = diff_count(num1, num2);

printf("%d\n", ret);

return 0;

}


int diff_count(int x, int y)

{

int tmp = x^y;

int count = 0;

while (tmp)

{

count++;

tmp &= (tmp - 1);

}

return count;

}

理解x^y的含义以及tmp &= (tmp - 1)这俩个表达式。

俩个int型变量m,n中有多少个bit位不同。

原文:http://10942013.blog.51cto.com/10932013/1730491

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!