C赋值中奇怪的反斜杠运算符
strange backslash operator in C assignment
以下代码中的 0x0
是什么意思?我在嵌入式 C 代码中找到了这个:
uint16 size;
...
size += (size & 0x0);
它是德州仪器发布代码的一部分。它在 IAR ARM IDE.
中编译
不可移植、依赖于实现、不符合标准的代码。
任何人都可以猜测原作者的意图,但 "probably" 意味着 size += size & 0x1
。即:如果大小为奇数(即最低有效位为 1),则将大小增加 1。
以下代码中的 0x0
是什么意思?我在嵌入式 C 代码中找到了这个:
uint16 size;
...
size += (size & 0x0);
它是德州仪器发布代码的一部分。它在 IAR ARM IDE.
中编译不可移植、依赖于实现、不符合标准的代码。
任何人都可以猜测原作者的意图,但 "probably" 意味着 size += size & 0x1
。即:如果大小为奇数(即最低有效位为 1),则将大小增加 1。