编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
2016-11-25 00:19
465 查看
【一】
【二】
【三】
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<math.h> int main() { int m = 0; int n = 0; int i = 0; int count = 0; printf("请输入两个数:\n"); scanf("%d%d", &m, &n); for (i = 0; i < 32; i++) { if (((m >> i) & 1) ^ ((n >> i) & 1)) //让m和n右移i位然后分别和1相与 再异或 如果是真count++ count++; } printf("count=%d", count); system("pause"); return 0; }
【二】
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<math.h> int main() { int u = 0; int m = 0; int n = 0; int count = 0; printf("请输入两个数:\n"); scanf("%d%d", &m, &n); u = m^n; //m和n异或 while (u) //相当于找出一个数;二进制中1的个数 { count++; u = u & (u - 1); } printf("count=%d", count); system("pause"); return 0; }
【三】
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<math.h> int main() { int i = 0; int m = 0; int n = 0; int count = 0; printf("请输入两个数:\n"); scanf("%d%d", &m, &n); for (i = 0; i < 32; i++) { if ((m & 1) != (n & 1)) { count++; } m = m >> 1; n = n >> 1; } printf("count=%d", count); system("pause"); return 0; }
相关文章推荐
- 编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 4.编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7
- c语言编程实现两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 1.编程实现: 两个int(32位)整数m和n的二进制表达中, 有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7
- 1.输出一个整数的每一位。2. 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- .编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 如何实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 用c语言实现,两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 求出两个int(32位)整数m和n的二进制表达中,有多少bit位不同
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 【C语言】【笔试题】两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?