dandi kain dandi kain - 8 months ago 55
C Question

strange backslash operator in C assignment

What does following

mean in following code? I find this in an embedded C code:

uint16 size;
size += (size & 0x0\1);

It's part of Texas Instruments released code. It compiles in IAR ARM IDE.


Non-portable, implementation dependent, non-standard conforming code. It is anybody's guess what the original author has intended but "probably" means size += size & 0x1. That is: increment size by 1 in case size is odd (that is, least significant bit is 1).