请教System.out.println((ip[0]&0xff)+"."+(ip[1]&0xff)+"."+(ip[2]&0xff)+"."+(ip[3]&0xff));
其中的0xff是什么意思?

解决方案 »

  1.   

    0xff 是 16进制,对应十进制 255,二进制 11111111,八进制0377。
      

  2.   

    怎么16进制的,显示出来是10进制的ip地址呢?&0xff这个是转换?
      

  3.   

    hhamw(こ尐う韤韤か) :
    怎么16进制的,显示出来是10进制的ip地址呢?&0xff这个是转换?
    -----------------------
    因为你没有指定以16进制显示呀。如果你想要16进制的话,你就说嘛,
    你不说,java怎么能知道你想要16进制呢?
    不可能你说想要16进制的,而不显示16进制的,
    也不可能你说不要16进制的,而非要显示16进制的。System.out.println(Integer.toHexString(ip[0]&0xff)+"."+Integer.toHexString(ip[1]&0xff)+"."+Integer.toHexString(ip[2]&0xff)+"."+Integer.toHexString(ip[3]&0xff));