通過(guò)InetAddress 獲取字節(jié)數(shù)組IP時(shí) byte[] bytes = address.getAddress();,出現(xiàn)負(fù)數(shù)
InetAddress address = InetAddress.getLocalHost();
System.out.println("主機(jī)ip地址:"+address.getHostAddress());
System.out.println("主機(jī)名稱(chēng):"+address.getHostName());
byte[] bytes = address.getAddress();
System.out.println("字節(jié)數(shù)組型的IP地址"+Arrays.toString(bytes));
輸出:
主機(jī)ip地址:192.168.119.35
主機(jī)名稱(chēng):WIN-R5PAKVOQ0S5
字節(jié)數(shù)組型的IP地址[-64, -88, 119, 35]
問(wèn)題:
字節(jié)數(shù)組型的IP地址[-64, -88, 119, 35]
為什么會(huì)出現(xiàn) ?-64 ?-88 現(xiàn)象
2017-03-04
這是因?yàn)橐粋€(gè)byte只能表示8位,而第一位是符號(hào)位,第一位0表示正,第一位1表示負(fù)。(例如:192換成2進(jìn)制就是 11000000,因?yàn)榈谝晃皇恰?’故為負(fù)數(shù),值=(符號(hào)位不變,其他取反加1)=64),不懂得話就網(wǎng)上查查原碼和補(bǔ)碼
2017-02-08
這個(gè)是因?yàn)榇鎯?chǔ)的是byte,而byte本身取值范圍已經(jīng)決定了
2017-02-08
byte的取值范圍是-128~127,怎么解釋你應(yīng)該明白了吧!
2017-02-08
同問(wèn) 找到原因了嗎