c语言为什么&=0xff

2024-11-06 05:30:09
推荐回答(2个)
回答(1):

a可能是short,也可能是int,或long类型,当和0xFF相与后,除了低字节外,其他各位全部清零(包括符号位),这是根本目的。

回答(2):

这个实际是a=a&0xff,其中后面的那个是一个十六进制数,换算成二进制数其实是1111 1111,然后与a对应的二进制数做位与运算,当a对应的二进制数位1111 1111 0000 0001(即为一个整型的数),结果就不一样了。希望这样的解释对你有帮助。