【算法】求两个数中,bit位不同的个数
来源:互联网 发布:汽车上哪里用单片机 编辑:程序博客网 时间:2024/05/06 12:48
问题描述:
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
分析:
a^b是位运算中异或的意思,相同为0不同为1,对两个数进行异或之后,计算其中1的位数,即为最终结果。有一个小技巧,x & (x-1)会把x中最右边为1的bit变成0,循环每次去掉最右边的一位1,直到异或的结果全部变为0。
代码如下:
static int calculateNotSam(int a,int b){ int temp=a^b; int number=0; while(temp!=0){ temp&=(temp-1); number++; } return number; }
阅读全文
0 0
- 【算法】求两个数中,bit位不同的个数
- 求二进制序列中1的个数及奇偶序列+输出整数的每一位+两个数中多少个bit位不同
- 求两个数的二进制中有多少个不同的bit位
- 【c语言】求两个数中不同的位的个数
- 【C语言】求两个数中不同的位的个数
- 求两个数中二进制位不同的个数
- 两个数不同的位个数
- 2015小米实习生笔试题1 求两个数的不同位的个数
- 两个二进制中不同位的个数
- C 统计两个数相应的不同位(bit)
- 求两个数的不同位有多少个
- 求两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 有4个数,组成不同的3位数,每个数各个位数字不同,求这些数的个数
- 求两个数的二进制数的对应位有多少位不同?
- 求64位整型n,中各个bit位是1的个数
- 位运算--求一个 数二进制中1的个数
- C++:求10个数中最大的两个数
- 【C】写一个宏将一个数字的奇数位和偶数位交换。实现两个int(32位)整数m和n的二进制表达中,位(bit)不同的个数
- python web py入门-1-web.py简介和安装
- hsv
- Python之禅
- tab框切换嵌套tab框
- 线性表-1
- 【算法】求两个数中,bit位不同的个数
- 算法基础之----堆排序
- 2017美团点评秋招笔试编程
- 【美图】- 2018届校招在线考试
- java并发编程之组合对象学习笔记
- ReactNative进阶---FlatList(一)
- hihocoder#1333 : 平衡树·Splay2(结构体做法)
- loadrunner Web_类函数之web_add_auto_header()
- .Net Core(一)环境搭建与基本使用