计算两个整数的二进制中有几个二进制不同
2017-09-10 23:55
447 查看
计算两个整数的二进制中有几个二进制不同
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main() { int num1, num2, num; int count = 0; scanf("%d%d", &num1, &num2); num = num1^num2;//异或,例如:num1为1011和num2为0001,则num为1010 while (num) { count++; num = num & (num - 1);//依次取掉后面的1,num&(num-1)为1001&(1010-0001)=1001 } printf("count=%d\n", count); return 0; }
& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0 | 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1 ^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1 ~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0 << 左移 用来将一个数的各二进制位全部左移N位,右补0 >> 右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0
相关文章推荐
- 题目: 编写程序计算两个整数的二进制中有几个二进制不同
- 计算两个整数的二进制中有几个二进制不同
- 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- C 两个整数m和n的二进制表达中,有多少个位不同
- 两个整数m和n表达式中,有几个二进制位不同
- 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 1.写一个函数返回参数二进制中 1 的个数;2..获取一个数二进制序列中所有的偶数位和奇数位;3. 输出一个整数的每一位;4.两个int整数的二进制表达中,有多少个位不同
- 如何实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- .编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 求二进制序列中1的个数及奇偶序列+输出整数的每一位+两个数中多少个bit位不同
- 【C语言】【笔试题】两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- C语言:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同(模除、移位)
- 编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 用c语言实现,两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 两个整数二进制表达中,有多少个位(bit)不同
- C++ 算法之 输入两个整数m n,求计算需要改变m的二进制表示中的多少位才能得到n
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同