Code Bye

不清楚if(a&b)

看到一段别人写的代码
int a=4;
int b;
if(a&b)

a和b按位与后非0是true,0是false,但b没有初始化,这该怎么理解?

解决方案

40

4的二进制是0000 0000 0000 0000 0000 0000 0000 0100
和4按位与就是取出那个数的第三位。
a&b就是假如为真,说明b的第三位就是1

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明不清楚if(a&b)