为什么位与0xff后能去掉前面的0
为什么位与0xff后能去掉前面的0
为什么位与0xff后能去掉前面的0
2017-02-22
首先,0xff是一个十六进制的数,转换为二进制就是1111 1111
这个数在8bit也就是在byte中直接就是1111 1111(前面就不存在0,因为它只有8bit)
在32bit也就是在int中就是00000000 00000000 00000000 11111111(0可以省略,但实际是存在的)
他前面的0是根据最终是在什么类型下决定的。
某个数和0xff进行&运算,根据&运算的特点只有和1&运算才为1.和0&运算都是0.所以和0xff进行&运算之后,它如果最终是byte类的话,因为只有8bit所以只剩下了1111 1111.假如最终类型是Int类型他其实是00000000 00000000 00000000 11111111
举报