c语言中 1u: 表示是unsigned 1; 其二进制表示形式是 0000 0000 0000 0001. (此处假定int型的长度为2字节,1个字节8位);
x & 1u:
&符号表示按位操作的逻辑与运算,即两者都为1时,结果才为1.
if (x & 1u)实质上就是判断x用二进制表示时,末尾的数是不是1, 如果是1,判断结果为1, 如果是0, 结果为0.
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/280834.html