在c里面 x*=a+b运算是怎么算的啊? 还有x&x-1
在c里面 x*=a+b运算是怎么算的啊? 还有x&x-1
日期:2021-06-01 19:26:17 人气:1
根据运算符的优先级,*= 属于赋值运算符,优先级比 + 低
所以 x*=a+b 相当于 x*=(a+b) ;
*= 运算符懂吧,a*=b 相当于 a = (a*b);
按位与运算符“&”的优先级低于减法运算法,所以 x&x-1和x&(x-1)是一样的;
& 运算是按位与,将 x 和 x-1 都转化为二进制形式,一位一位的进行与运算,
1&1 = 1; 1&0 = 0; 0&1 = 0; 0&0 = 0;
例如x = 45;
所以 x*=a+b 相当于 x*=(a+b) ;
*= 运算符懂吧,a*=b 相当于 a = (a*b);
按位与运算符“&”的优先级低于减法运算法,所以 x&x-1和x&(x-1)是一样的;
& 运算是按位与,将 x 和 x-1 都转化为二进制形式,一位一位的进行与运算,
1&1 = 1; 1&0 = 0; 0&1 = 0; 0&0 = 0;
例如x = 45;