问答详情
源自:4-2 字节流之文件输入流FileInputStream-2

有朋友知道这句什么意思?System.out.print(Integer.toHexString(buf[i] & 0xff)+" "); 尤其是buf[i] & 0xff)这句.

有朋友知道这句什么意思?System.out.print(Integer.toHexString(buf[i] & 0xff)+"  ");    尤其是buf[i] & 0xff)这句.


提问者:阿森纳酋长球场 2016-11-30 19:37

个回答

  • rjyb22
    2016-12-12 23:27:11
    已采纳

    0xff即16进制的1515,转化为二进制为11111111,不管byte[i]要转化为什么进制,要变成多少位,只要和11111111相与,结果就是个八bit位的数,所以就去0,
    只要知道0xff=11111111就好,它是8bit位。

  • weibo_陈_兆群_0
    2016-11-30 19:58:04

    0xff相当于00000000 00000000 00000000 11111111.这样就只保留最后的低8位。toHexString是装换为16进制