如果n是奇数,就break。
n&1是n和1做“按位与”运算,1的二进制只有末位是1,所以n&1就是只保留n的末位(二进制)。n&1就表示了n的奇偶性。
n&1表示n与1按位与,,是一个二进制运算,就是把n变成二进制,与1按位与,,
如果按位与所得为1的话,就执行break; 跳出循环~
按位与:
二进制运算:例如:3&1
那就是
011
& 001
——————
001
就是1,也就是3&1=1~
n&1表示n与1按位相与。如果相与结果为1,表求n对应的二进制位的最低位是1,即n是奇数。说得通俗点就是:若n是奇数,则执行break;
&是位与运算符,准确的写应该是这样的:if((n & 0x01) == 0x01) break;将n和0x01进行位与运算,后面的应该能看懂吧。