正如评论所说,diff & -diff返回在 diff 上设置的最后一位的值。例如:diff = 14.... = 1110 (binary).... ^ last set bit.... 10 is the last set bit.... 10 in decimal is 2另一个例子diff = 24.... = 11000 (binary).... ^ last set bit.... 1000 is the last set bit.... 1000 in decimal is 8我建议阅读有关如何提出精心设计的问题的指南。我个人可以给出的一项建议是在您的问题末尾加上一句话,准确概括您想知道的内容。