В продолжение темы: Объясните сишную магию


Ковыряю сорцы Skia и наткнулся на такой забавный ужас (ссылка):


int fLastMoveToIndex = 5; // любое число
fLastMoveToIndex ^= ~fLastMoveToIndex >> (8 * sizeof(fLastMoveToIndex) - 1);


Экспериментально удалось выяснить, что данный код меняет знак и отнимает 1 только если число положительное. Как он это делает - я даже знать не хочу.


Вопрос: что мешало написать банальный if, или хотя бы оставить комментарий? Типичное сишное какерство?


PS: производительно данного куска кода на погоду не влияет.









 ,






URL записи