亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java輸出通過InetAddress獲得的IP地址數組詳細解析

2019-11-26 15:57:52
字體:
來源:轉載
供稿:網友

使用 InetAddress 獲取 IP 地址會得到一個 byte 數組
如果你直接輸出這個數組,你會發現 IP 地址中的某些位變成了負數
比如 61.135.169.105 會輸出成 61.-121.-87.105
仔細看一看,會發現 135 + 121 = 256,169 + 87 = 256

-_-! 怎么個情況!

我首先想到的是 byte 類型向 int 類型轉換過程中出現了問題,后來發現,實際不然

因為 Java 中沒有 unsigned 類型,所以byte、short、int、long 都是有符號的,所以根本就不存在隱式類型轉換出錯的問題。

既然說到了 Java 沒有 unsigned 類型,那么 byte 是 8 位,所以表示范圍為 -127 - 128,而 IP 一個段的表示范圍為 0 - 255,終于找到了不對勁的地方了

IP 的一個段是一個 unsigned byte,這樣一個 unsigned byte 存入一個 signed byte 中當然會導致一些問題出現

分析一下:
35 的二進制編碼為 1000 0111,最高位置為 1

由于 byte 被認為是 unsigned byte,所以最高位的 1 將會被解釋為符號位,另外 Java 中存儲是按照補碼存儲,所以 1000 0111 會被認為是補碼形式,轉換成原碼便是 1111 0001,轉換成十進制數便是 -121。

再看,65 的二進制編碼為 0100 0001,由于小于 128,所以沒有將最高位置 1,0100 0001 的補碼還是 0100 0001,所以 65 不變。

分析這么多,這個問題的解決方法其實很簡單,將 byte 變量與 0xFF 按位與即可,過程中 byte 會隱式類型轉換為 int,當與 0xFF 按位與的時候,會將除了低 8 位的其他位全部置 0,這樣一來便將符號擴展的那些高位清除掉了。

最后附上一個自己寫的通用函數,用來將整型變量的二進制編碼輸出

復制代碼 代碼如下:

/**
 * 將整型變量的二進制編碼形式輸出
 * @param n 整型變量
 * @param size 整型的二進制長度,可使用類似 Short.SIZE 獲得
 * @return 二進制編碼字符串
 */
public static String printBinary(long n, int size) {
 StringBuilder sb = new StringBuilder();
 for (int i = size - 1; i >= 0; i--) {
  sb.append(n >>> i & 0x01);
  if (i % 4 == 0) {
   sb.append(" ");
  }
 }
 return sb.toString();
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品中文字幕在线播放| 亚洲欧美日韩天堂| 亚洲夜晚福利在线观看| 中文字幕日韩免费视频| 国产欧美欧洲在线观看| 日韩三级影视基地| 色播久久人人爽人人爽人人片视av| 91av视频在线| 大荫蒂欧美视频另类xxxx| 亚洲午夜激情免费视频| 欧美激情视频一区| 国产盗摄xxxx视频xxx69| 国产精品极品美女在线观看免费| 国产玖玖精品视频| 91精品国产99久久久久久| 国产精品一区二区久久精品| 在线观看欧美视频| 国产精品成人一区二区三区吃奶| 欧美日韩国产限制| 久久久久久伊人| 国产精品自产拍在线观| 国产精品盗摄久久久| 亚洲日韩欧美视频一区| 欧美日韩免费区域视频在线观看| 国产亚洲欧美aaaa| 亚洲美女福利视频网站| 日本久久久久亚洲中字幕| 永久免费看mv网站入口亚洲| 永久免费精品影视网站| 欧美高清视频免费观看| 亚洲第一精品夜夜躁人人爽| 亚洲在线www| 色噜噜狠狠狠综合曰曰曰| 亚洲欧洲日产国码av系列天堂| 国产精品va在线播放我和闺蜜| 成人黄色免费在线观看| 欧美精品久久久久久久| 亚洲人成网站色ww在线| 亚洲成人免费在线视频| 日韩电影免费观看在线| 中文字幕9999| 久久久噜噜噜久久中文字免| 国产精品女人久久久久久| 日韩高清电影免费观看完整版| 欧美日韩亚洲国产一区| 国产精品夜间视频香蕉| 欧美日韩国产丝袜另类| 久久久久久91香蕉国产| 97成人精品视频在线观看| 97久久精品国产| 欧美性视频在线| 国产主播喷水一区二区| 成人在线免费观看视视频| 国产一区视频在线| 久久久久久久久久久网站| 久久久久久久激情视频| 青草青草久热精品视频在线网站| 欧美中文字幕第一页| 青青草一区二区| 日韩激情第一页| 久久久国产一区二区三区| …久久精品99久久香蕉国产| 国产精品久在线观看| 人人做人人澡人人爽欧美| yellow中文字幕久久| 亚洲国产精品成人va在线观看| 亚洲精品国产精品久久清纯直播| 国产精品高潮呻吟久久av黑人| 91地址最新发布| 欧美午夜精品在线| 亚洲精品成a人在线观看| 亚洲精品中文字幕有码专区| 97视频在线观看视频免费视频| 久久久av电影| 97精品伊人久久久大香线蕉| 日韩中文字幕视频在线| 中文字幕亚洲无线码在线一区| 亚洲国产精品久久精品怡红院| 久久精品视频在线观看| 亚洲mm色国产网站| 亚洲国产精品人久久电影| 国产精品久久不能| 亚洲精品色婷婷福利天堂| 亚洲韩国青草视频| 18性欧美xxxⅹ性满足| 欧美性xxxxhd| 日韩精品在线视频观看| 欧美激情久久久| 美女少妇精品视频| www.日韩不卡电影av| 亚洲影院污污.| 日韩av日韩在线观看| 浅井舞香一区二区| 91成人在线观看国产| 欧美人交a欧美精品| 国产精品普通话| 欧美性受xxxx黑人猛交| 日韩在线视频网| 亚洲自拍另类欧美丝袜| 欧美区二区三区| 欧美日韩色婷婷| 久久久伊人日本| 亚洲国产精品一区二区久| 日本aⅴ大伊香蕉精品视频| 日韩精品亚洲元码| 亚洲天堂av在线免费观看| 国产精品日韩一区| 亚洲第一区在线| 日韩在线观看免费全| 福利一区视频在线观看| 国产精品青青在线观看爽香蕉| 久久久久久久久久久亚洲| 日本在线精品视频| 国产噜噜噜噜噜久久久久久久久| 精品亚洲夜色av98在线观看| 精品爽片免费看久久| 国产在线视频欧美| 尤物yw午夜国产精品视频| 欧美日韩福利电影| 高跟丝袜一区二区三区| 欧美精品在线视频观看| 亚洲精品欧美一区二区三区| 97人人爽人人喊人人模波多| 亚洲女同精品视频| 国产精品一区专区欧美日韩| 国产婷婷97碰碰久久人人蜜臀| 日韩欧美视频一区二区三区| 欧美性猛交xxxx黑人| 在线午夜精品自拍| 亚洲欧美日韩视频一区| 亚洲美女黄色片| 日韩av在线直播| 日韩欧美在线视频观看| 久久成人国产精品| 国产精品久久久久久久久久三级| 国产精品丝袜视频| 欧美午夜激情在线| 久久成人综合视频| 国产中文字幕日韩| 欧美日韩不卡合集视频| 亚洲第一免费网站| 日韩欧美一区二区三区| 91丨九色丨国产在线| 97福利一区二区| 成人国产精品一区二区| 成人国产在线激情| 国产精品亚洲欧美导航| 国产精品入口免费视| 在线观看精品自拍私拍| 国产精品影院在线观看| 国产精品精品久久久久久| 国产精品一区=区| 亚洲深夜福利在线| 日韩精品中文字幕久久臀| 午夜精品久久久久久99热软件| 亚洲精品久久7777777| 日本a级片电影一区二区| 欧美国产视频一区二区| 亚洲综合在线做性| 亚洲女成人图区| 91午夜理伦私人影院| 久久久久久久电影一区| 日韩免费视频在线观看| 亚洲美女又黄又爽在线观看|