himagic = 0x80808080L;
lomagic = 0x01010101L;
if (((longword - lomagic) & ~longword & himagic) != 0)
longword取反后,其中的每个字节有两种情况:1xxxxxxx和0xxxxxxx。
当ch=1xxxxxxx时,则~ch=0xxxxxxx;那么(ch - 1) & ~ch之后第8位一定为0。
当ch=0xxxxxxx时,则~ch=1xxxxxxx;那么如果(ch - 1) & ~ch之后的第8位为1,则ch一定是借了位的(即ch=0)。