0 !=
这段代码做了什么:
#include <stdio.h>
int main()
{
int i;
for(i=0;i<8*5;i++)
printf("%d",0 != ("HELLO"[i/8] & 1 << (~i&7)) );
return 0;
}
这是一个简单的字符串到二进制的转换。我理解,`("HELLO"[i/8] & 1 << (~i&7))
但我无法理解该0 !=
部分,如果我删除它,它就不起作用。
有没有深入教授按位运算的网站?