LeetCode面试题05.06

美好的一天,从力扣开始

王子公主请看题

整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。

示例1:

复制代码
 输入:A = 29 (或者0b11101), B = 15(或者0b01111)
 输出:2

示例2:

复制代码
 输入:A = 1,B = 2
 输出:2

提示:

  1. A,B范围在[-2147483648, 2147483647]之间

根据提示不难发现a,b都是int类型,我们知道int对应32个比特位,要将a转化为b,其实就是把a的二进制改为b的二进制,那我们只需要找到两个数字有多少个比特上的数字不同就行了。这里就用到了^,他是相同则为0,不同则为1,我们把a,b32个比特位挨个通过^比较一番即可

代码如下

int convertInteger(int A, int B)

{

int a = 0;

for (int i = 0; i < 32; i++)

{

if (((A >> i) & 1)^((B >> i) & 1))

a++;

}

return a;

}

AC

相关推荐
Anastasiozzzz3 分钟前
leetcodehot100--最小栈 MinStack
java·javascript·算法
历程里程碑11 分钟前
双指针2--盛水最多的容器
大数据·数据结构·算法·leetcode·elasticsearch·搜索引擎·散列表
hetao173383716 分钟前
2026-01-22~23 hetao1733837 的刷题笔记
c++·笔记·算法
风筝在晴天搁浅27 分钟前
hot100 230.二叉搜索树中第K小的元素
数据结构·算法
June bug35 分钟前
(#数组/链表操作)寻找两个正序数组的中位数
数据结构·python·算法·leetcode·面试·职场和发展·跳槽
通信小呆呆42 分钟前
DDMA MIMO OFDM ISAC:从回波模型到距离-速度图与非相参积累的原理梳理
算法·信息与通信·ofdm·mimo·通信感知一体化
leo__5201 小时前
电动助力转向(EPS)系统Simulink模型构建与应用
算法
TracyCoder1231 小时前
LeetCode Hot100(8/100)—— 438. 找到字符串中所有字母异位词
算法·leetcode
郝学胜-神的一滴1 小时前
深入理解Linux套接字(Socket)编程:从原理到实践
linux·服务器·开发语言·网络·c++·程序人生·算法