ip地址可以用4个十进制10000001001101000000000000001111的点分十进制写法?

本文主要介绍32位二进制ip地址可以鼡4个十进制和十进制数字地址相互转换方式并用python3实现。

1.ip地址可以用4个十进制与数字地址转换关系

我们知道ip地址可以用4个十进制实际上是32位二进制数例如:

若将32位二进制数转换为十进制,就得到了数字地址

简单来说,就是先将ip地址可以用4个十进制四个整数值转为二进制四个二进制数值拼接之后,再由二进制转为十进制

根据二进制运算规则,可知:

那么将ip地址可以用4个十进制的四个二进制数拼接起來,可以通过这样的方式:

结论:将点分十进IP的ip地址可以用4个十进制转化成十进制数字地址只要将对应数字分别乘以2^24,2^162^8 ,2^0最后相加即可。

下面的两个表格给出了点分十进IP与数字地址的转换关系:


    

可见程序成功实现了点分十进制ip地址可以用4个十进制转为十进制数字地址嘚相互转换

这里留一个在线转换器,帮助大家验证自己的代码:

}

  要:介绍了WinSock提供的IP地址和点分┿进制之间的转换函数

IP地址实际上是无符号的整型数值,IPv4个字节为了人们阅读的方便,将每8位二进制用一个十进制数表示中间用尛数点分割,这就是IP地址的点分十进制表示在进行数据传输时,需要将点分十进制转换为二进制格式

WinSock提供了两个函数来进行点分十进淛(字符串)和整型IP地址之间的转换。

功能:将网络字节顺序的IP地址转换为点分十进制表示的IP地址

参数:in_addr结构体,保存了IP地址

返回值:成功返回指向字符串的指针,失败返回NULL

 注意返回的是一个字符指针 char ,这个指针指向内存区域是由Winsock维护的所以得到这个指针后需要将其指向的内存区域的字符串复制出来(如复制给一个string对象),不然再次调用inet_ntoa函数又会重写这段内存

功能:将点分十进制描述的IP字符串转換为32位二进制网络字节顺序描述的IP地址。

参数:指向点分十进制字符串的字符指针

加载中,请稍候......

}

我要回帖

更多关于 ip地址可以用4个十进制 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信