有时我们还会遇到类似于&0xFF这样的操作,如 n = n & 0xFF,这又代表什么呢?
首先解释一下0xFF,这代表的是十六进制数FF即1111 1111,对应十进制即为255,当一个数n对这个 0xFF 作 & 操作时,相当于求n除以256所得的余数,也就是相当于n%256。
设一个十六位二进制数1010 1100 0100 0001要作&FF操作,即将这两个数按位“与”
1010 1100 0100 0001
0000 0000 1111 1111
所的结果为0000 0000 0100 0001
可以看到这个数即为1010 1100 0100 0001除以256的余数。
同理&0x03、&0x0F即为求一个数除以4、除以16所得的余数