谁能帮我解释一下这句代码是什么意思 谢谢 byte的

2024年11月20日 09:24
有1个网友回答
网友(1):

if((byte)(b&0x40)==(byte)0x40)

b是一个字节
0x40这是16进制数,也是一个字节
&表示两个数进行“与”运算(与、或、非你懂的)
0x40对应二进制 01000000
所以(b&0x40) 实际上就取的b的第6位(从右往左数,索引从0开始),其它位被置0
(byte) 强制类型转换,将运算结果转换为一个字节
综上,if((byte)(b&0x40)==(byte)0x40) 实际上就是判断b的第6位是不是1