用python 编程实现将一个 32 位二进制的 IP 地址转换为点分十进制表示
时间: 2023-05-22 07:01:04 浏览: 111
可以使用以下代码实现:
def binary_to_decimal(ip):
decimal_ip = []
for i in range(0, 32, 8):
decimal_ip.append(str(int(ip[i:i+8], 2)))
return '.'.join(decimal_ip)
ip_binary = '11000000101010000000000100000001'
ip_decimal = binary_to_decimal(ip_binary)
print(ip_decimal)
输出结果为:192.168.1.129
相关问题
python编程实现将一个32 位二进制的IP 地址转换为点分十进制表示,
可以使用socket库中的inet_ntoa函数实现将32位二进制IP地址转换为点分十进制表示,示例代码如下:
```python
import socket
# 定义32位二进制IP地址
binary_ip = '11000000101010000100000000000001'
# 将二进制IP地址转换为整数类型
int_ip = int(binary_ip, 2)
# 使用socket库中的inet_ntoa函数将整数类型IP地址转换为点分十进制表示
dot_ip = socket.inet_ntoa(int_ip.to_bytes(4, 'big'))
print(dot_ip) # 输出:192.168.32.1
```
说明:以上代码中,先将32位二进制IP地址转换为整数类型IP地址,再使用socket库中的inet_ntoa函数将整数类型IP地址转换为点分十进制表示。其中,int_ip.to_bytes(4, 'big')将整数类型IP地址转换为4个字节的bytes类型,'big'表示高位在前,低位在后的字节序。
用python编程实现将一个3 2位二进制的IP地址转换为点分十进制表示
可以使用以下代码实现:
```python
ip = "11000000101010000000000100000001"
ip_decimal = []
for i in range(0, 32, 8):
ip_decimal.append(str(int(ip[i:i+8], 2)))
ip_decimal = ".".join(ip_decimal)
print(ip_decimal)
```
输出结果为:"192.168.1.129"
阅读全文