1.(n&1)==1 这个是判断n是 奇数还是偶数
& 是按位与运算符 n&1 : 先把n 和 1分别转换为二进制 然后对比他们二进制每个位上的数 当双方位置上的数都为1时 结果为1 其它情况都为0,得到n与1按位与计算的二进制结果后再转为十进制与1做是否相等比较。
0&0 0
0&1 0
1&0 0
1&1 1
3 : 0011
1 : 0001
3&1 : 0001
1的二进制只有最有一位数为1(0001),那么 n&1 只有两个结果 当n的最后一位数为1时(n为奇数) n&1=1,其它情况 n&1=0;
2.exponent>0?result:1
?: 是三目运算符。
‘?’前面是表达式, ‘ :’前面是当表达式为真的时候的三目运算的取值,‘:’后面是表达式为假的时候三目运算的取值。
exponent>0?result:1 当exponent>0为真时,取’:'前面也就是result的值, 当exponent>0为假也就是exponent实际<=0,取‘:’后面的值也就是1。