在讨论如何进行IP地址与二进制之间的转换前, 有必要解释一下IP地址与二进制的概念
IP
- IP协议是网络层的一个协议, 是能使连接到网上的所有计算机网络实现相互通信的一套规则, 目的是根据源主机和目的主机的地址来传送数据.
- IP地址是一组能够识别主机和所在网络的编号, 由32位二进制数组成(等于4字节),为便于使用,常以XXX.XXX.XXX.XXX形式表现,每组XXX代表小于或等于255的10进制数。
- 每个IP地址(尽管它看起来分为四部分)被分解成两个部分......但这些部分并不相同。部分IP地址用于“网络ID”,其余地址用于“主机ID”.网络ID可以定位你所在的某个特定网络, 而主机ID可以定位你所在网络正在使用的主机
- 大多数IP地址可以划分地址类别:
- A类地址:IP地址的前8位用于网络ID。最终的24位用于主机ID.(192.168.16.10)
- B类地址:IP地址的前16位用于网络ID。最后的16位用于主机ID.(192.168.16.10)
- C类地址:IP地址的前24位用于网络ID。最后的8位用于主机ID.(192.168.16.10)
- Ps:网络ID永远在主机ID之前
二进制
我们通常生活中的数学计算都是以十进制为基础的, 任何一个数字都可以用个(1), 十(10), 百(100), 千(1000), 万(10000)…这样的数位相加而成
例如5349这个数可以用十进制表示为:
5349 =
5 * 1000 +
3 * 100 +
4 * 10 +
9 * 1
而二进制数顾名思义,就是以二进制为基础的数, 用0和1两个数来表示, 同样我们可以用二进制来表示任何一个数字
例如216这个数
216 =
1 * 128 +
1 * 64 +
0 * 32 +
1 * 16 +
1 * 8 +
0 * 4 +
0 * 2 +
0 * 1
提取乘号之前的数字我们得到所代表的二进制数: 11011000
又比如8这个数字
8 =
1 * 8 +
0 * 4 +
0 * 2 +
0 * 1
得到转换后的二进制数: 1000
转换过程
通过上面的分析, 我们可以了解到IP地址与二进制之间的转换其实就是十进制与二进制之间的转换
IP地址可以表示成这种32位二进制形式
11000000, 10101000, 00111011, 00011000
也可以是4位十进制形式:
192.168.59.24
- 二进制转换为十进制
我们以11000000这个数为例, 根据上图,将1,0依次代入所在数位, 然后相加所在数位数字:
1 * 128 +
1 * 64 +
0 * 32 +
0 * 16 +
0 * 8 +
0 * 4 +
0 * 2 +
0 * 1 = 192
192就是11000000的十进制形式
- 十进制转换为二进制
- 参考本文二进制部分,同理, 附一张例子图片
注:本文转载自 前沿资讯圈微信公众号;文内观点仅供参考。
埃文科技——IP定位技术领域专家,最全面、最精准的网络空间地图服务提供商。
公司成立于2012年,专注于网络空间、地理空间和社会空间的相互映射,绘制三位一体的网络空间地图,对网络空间资源的静态属性和动态变化情况进行探测。拥有27项软件著作权及13项发明专利。
本文暂时没有评论,来添加一个吧(●'◡'●)