建设银行怎么从网站上改手机号码,旅游网站建设步骤,建设专业网站公司,网站系统维护一般多长时间10.2Hamming Distance位运算基础问题题目描述给定两个十进制数字#xff0c;求他们二进制表示的汉明距离#xff08;Hamming Distance#xff0c; 即不同位的个数#xff09;输入输出样例Input #xff1a;x 1, y 4;Output#xff1a;2在这个样例中#xff0c;1的二进…10.2Hamming Distance位运算基础问题题目描述给定两个十进制数字求他们二进制表示的汉明距离Hamming Distance 即不同位的个数输入输出样例Input x 1, y 4;Output2在这个样例中1的二进制是00014的二进制是0100一共有两位不同题解进行按位异或操作统计有多少个1#include iostream using namespace std; // 汉明距离两个数字二进制 对应位不同 的数量 int hammingDistance(int x, int y) { // 第一步异或运算 x ^ y // 规则相同为0不同为1 // 例子x1(0001), y4(0100) // 异或结果0101 → 十进制 5 int diff x ^ y; int ans 0; // 统计 1 的个数即不同位的数量 // 第二步循环检查每一位是不是 1 // 当 diff 不为0时继续检查 while (diff) { // 第三步diff 1 → 取**最后一位** // 与运算两个都为 1 → 结果才是 1 // 如果最后一位是1ans1是0则0 ans diff 1; // 第四步右移1位 → 把已经检查过的最后一位扔掉 // 等价于diff diff / 2 diff 1; } // 最终 ans 就是二进制不同位的数量 return ans; } int main() { int x 1, y 4; cout hammingDistance(x, y) endl; return 0; }