我向大家介绍两种方法。 第一种:先看代码。 来解释一下吧,首先大家知道将10进制转化为2进制的过程 10的2进制是01010,每次%2就会的到余数,才/2就会往下继续, 28的2进制是11100,我们可以对比一看有3位不相同。 第二种: 还是先看代码,可能有点复杂。 让我们先认识 ^ ,&这两个符号,^叫按位异或, &按位与。 按位异或的规则是(相同为0,不同为1); 按位与是(有0为0,全1才1)。 让我们看看图。 循环3次,说明有3位不同,这个方法不容易想到。 期待点赞!!!