2016-10-26 2 views
6

Что означает следующее 0x0\1 в следующем коде? Я нахожу это во встроенном C-коде:странный оператор обратной косой черты в присваивании C

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

Это часть выпущенного кода Texas Instruments. Он компилируется в IAR ARM IDE.

+4

Я не могу получить код, о котором идет речь, для компиляции. – CalmBit

+0

Это часть выпущенного кода TI. Он компилируется в IAR ARM IDE. –

+0

Наверное, просто восьмеричный 1. Но не спрашивайте меня, почему. – deamentiaemundi

ответ

4

Не переносимый, зависящий от реализации, нестандартный соответствующий код. Это кто-то догадывается, что предполагал оригинальный автор, но «возможно» означает size += size & 0x1. То есть: размер приращения на 1, если размер нечетный (то есть младший значащий бит равен 1).