AngusHu
2016-12-14 01:38
把编码转成十六进制的时候老师做了Integer.toHexString(b & 0xff),这个& 0xff是做什么用的?谢谢。
b是byte类型占8位,而我们需要的int类型是32位,所以会进行符号位扩展。如果原来的byte为11111111,扩展后就会变为11111111 11111111 11111111 11111111,所以需要把前三位变为0,0xff二进制就是1111 1111,前三位都是0,所以与0xff相与后就只剩下最低的一位为1。
把前面的0去掉
文件传输基础——Java IO流
133754 学习 · 1030 问题
相似问题