I think you missed why the 0x7F is unnecessary. If you start with 8 bits and divide by 2 then the top bit must become zero. gcc does this itself and suppresses the 0x7F. So this idea will help other compilers start with 8-bits to achieve the same. The same trick can be used in hand-crafted assembler implementations.