IP地址与二进制之间的转换

本文详细介绍了IP地址的基本概念及其与二进制之间的转换方法。包括IP地址的分类(A/B/C类)、每类地址中网络ID与主机ID的分配原则,以及如何将IP地址转换为二进制形式和从二进制还原为IP地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IP地址与二进制之间的转换

在讨论如何进行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)…这样的数位相加而成

屏幕快照 2018-03-21 23.55.14

例如5349这个数可以用十进制表示为:

5349 =
5 * 1000 +
3 * 100 +
4 * 10 +
9 * 1

而二进制数顾名思义,就是以二进制为基础的数, 用0和1两个数来表示, 同样我们可以用二进制来表示任何一个数字

屏幕快照 2018-03-22 00.02.41

例如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

  • 二进制转换为十进制

    屏幕快照 2018-03-22 00.46.49

​ 我们以11000000这个数为例, 根据上图,将1,0依次代入所在数位, 然后相加所在数位数字:

​1 * 128 +
1 * 64 +
0 * 32 +
0 * 16 +
0 * 8 +
0 * 4 +
0 * 2 +
0 * 1 = 192

​ 192就是11000000的十进制形式

  • 十进制转换为二进制

    参考本文二进制部分,同理, 附一张例子图片

    屏幕快照 2018-03-22 00.49.38

参考视频:https://www.youtube.com/watch...

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值