C赋值中奇怪的反斜杠运算符

strange backslash operator in C assignment

以下代码中的 0x0 是什么意思?我在嵌入式 C 代码中找到了这个:

uint16 size;
...
size += (size & 0x0);

它是德州仪器发布代码的一部分。它在 IAR ARM IDE.

中编译

不可移植、依赖于实现、不符合标准的代码。 任何人都可以猜测原作者的意图,但 "probably" 意味着 size += size & 0x1。即:如果大小为奇数(即最低有效位为 1),则将大小增加 1。