亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

IP地址與整數之間的互相轉換詳解

標簽:
Java

IP地址的“构造”是由32位二进制数组成的。
IP地址转换为整数的代码:
IPAddressTurnLong
或者:
数组方式
优化如下:
for方式
分析:IP地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。
举例:一个IP地址为10.0.27.105
detail
组合起来即为:00001010 00000000 00011011 01101001,转换为10进制数就是:167779177,即该IP地址转换后的数字就是它了。
在上面的方法中,原理都是一样的。因为它就是操作的二进制数,使用位移操作很方面、直观。按位操作符都操作的整数的二进制数。
Long.parseLong(token.nextToken())<<24 就是把第一段数字表示的二进制数左移了24位,
得到00001010 00000000 00000000 00000000;
依次类推:
Long.parseLong(token.nextToken())<<16,
得到00000000 00000000 00000000 00000000;
Long.parseLong(token.nextToken())<<8,
得到00000000 00000000 00011011 00000000;
Long.parseLong(token.nextToken()),最低位不用移动,
得到00000000 00000000 00000000 01101001;
把这四个二进制数转换为整数后相加(结果为:167779177)和00001010 00000000 00011011 01101001表示的二进制数是一样的。
整数转换为IP地址的代码:
LongTurnIPAddress

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
37
獲贊與收藏
353

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消