Это скорее продолжение https://stackoverflow.com/a/5587983/13586005. @sam hocevar или любой другой, кто это понимает: не могли бы вы объяснить, что здесь происходит:
tmp = (tmp - 0x70) & ((unsigned int)((int)(0x70 - tmp) >> 4) >> 27);
Я не уверен, что полностью его понимаю. Я понимаю, что (tmp - 0x70)
исправляет смещение 127-> 15, но я не понимаю вторую часть ((unsigned int)((int)(0x70 - tmp) >> 4) >> 27
) и, следовательно, не понимаю & с исправленным смещением на последнем шаге. Спасибо!