假设我有两个数字A和B.我需要找出需要更改多少位来将A转换为B.
像:
A = 1101101
B = 1011011
^^ ^^
这里,我们需要改变4位将A转换为B
我该怎么做?
答案 0 :(得分:2)
你可以这样做:
int need=__builtin_popcountll(A^B);
cout<<need;
答案 1 :(得分:1)
有一个简单的解决方案:
A = 1101101
B = 1011011
^^ ^^
C = 0110110 (A ^ B)
^^ ^^ (count set bit)