a可能是short,也可能是int,或long类型,当和0xFF相与后,除了低字节外,其他各位全部清零(包括符号位),这是根本目的。
这个实际是a=a&0xff,其中后面的那个是一个十六进制数,换算成二进制数其实是1111 1111,然后与a对应的二进制数做位与运算,当a对应的二进制数位1111 1111 0000 0001(即为一个整型的数),结果就不一样了。希望这样的解释对你有帮助。