課程
/后端開發(fā)
/Java
/Java Socket應(yīng)用---通信是這樣練成的
為什么輸出的是IP地址的補(bǔ)碼
2016-07-29
源自:Java Socket應(yīng)用---通信是這樣練成的 2-1
正在回答
這個(gè)原因建議去了解一個(gè),原碼、反碼、補(bǔ)碼的概念。IP地址是INT 類型的例如: 130在計(jì)算機(jī)中表示二進(jìn)制位00000000 00000000 00000000 10000010 ,當(dāng)它存入到字節(jié)數(shù)組中,由于一個(gè)字節(jié)有8位,故,存入后130為 10000010而二進(jìn)制中最高位為符號(hào)位 (0代表整數(shù),1代表負(fù)數(shù)),所以1000 0010表示的是一個(gè)負(fù)數(shù),負(fù)數(shù)在計(jì)算機(jī)中是用的補(bǔ)碼表示的,要求的原碼,1000 0010 要先 -1 得:1000 0001 在求反后得其原碼,0111 1110 轉(zhuǎn)化為10進(jìn)制為 -126.
迷茫中的小朋友 提問者
舉報(bào)
分享的是 Java 中的網(wǎng)絡(luò)編程,使用Socket實(shí)現(xiàn)網(wǎng)絡(luò)聊天通信
2 回答字節(jié)數(shù)組形式獲取的IP地址,有些字段是負(fù)數(shù)?256-?
4 回答通過InetAddress 獲取字節(jié)數(shù)組IP時(shí) byte[] bytes = address.getAddress();,出現(xiàn)負(fù)數(shù)
1 回答字節(jié)數(shù)組的大小
3 回答為什么我用字節(jié)數(shù)組保持ip地址打印出來和我用直接打印對(duì)象的ip地址不一樣?
2 回答以字節(jié)數(shù)組輸出時(shí)的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-07-30
這個(gè)原因建議去了解一個(gè),原碼、反碼、補(bǔ)碼的概念。IP地址是INT 類型的例如: 130在計(jì)算機(jī)中表示二進(jìn)制位
00000000 00000000 00000000 10000010 ,當(dāng)它存入到字節(jié)數(shù)組中,由于一個(gè)字節(jié)有8位,故,存入后130為 10000010
而二進(jìn)制中最高位為符號(hào)位 (0代表整數(shù),1代表負(fù)數(shù)),所以1000 0010表示的是一個(gè)負(fù)數(shù),負(fù)數(shù)在計(jì)算機(jī)中是用的補(bǔ)碼表示的,要求的原碼,1000 0010 要先 -1 得:1000 0001 在求反后得其原碼,0111 1110 轉(zhuǎn)化為10進(jìn)制為 -126.