list2 =
[]
for
item
in
list1:
item
=
bin(int(item)) ---
0b11000000 0b10101000
0b1100000
0b1011110 ----
# 去掉每段二进制前的0b.
item = item[2:]
# 将IP地址地址的每个字段转换成八位,不足的在每段前补0.
list2.append(item.zfill(8)) --['11000000', '10101000', '01100000', '01011110']--
# 将4段8位二进制连接起来,变成32个0101的样子.
v2 = ''.join(list2) ----11000000101010000110000001011110----
v3 = int(v2,base=2)
print(v3) ---3232260190---
转载于:https://www.cnblogs.com/weiliwei-lucky/p/11205859.html
### ---xxx--- 表示该步骤得出的结果IP = '192.168.96.94'list1 = IP.split('.')list2 = []for item in list1: item = bin(int(item)) ---0b11000000 0b10101000 0b1100000 0b1011110 ---- # 去掉每段二进制前的...
Python
中进行进制的转换可以通过它的内置函数bin()、int()、oct()、hex()来实现。下面我们就通过实例来学习一下。
(一)比如要将一个
ip地址
192.167.45.1/24 (相当于子网掩码是:255.255.255.0)
转换成
二进制
,那么我们就可以借助
python
来实现。
IP地址
是一组能够识别主机和所在网络的编码,由32位
二进制
组成(等于4个字节),为了便于使用,常以xxx.xxx.xxx.xxx形式表现,每组xxx就代表小于或等于255的
十进制
数。由2部分组成,网络号+主机号。
1 -
ip地址
与10进制数的转换
当我们ping数字2130706433时,从127.0.0.1返回结果。
IP地址
是个32位的
二进制
数,表示成点分10进制,只是为了方便,如果把这32为
二进制
数
转换成
10进制数,计算机也是认识的。
2130706433(10进制)== 1111111000000000000000000000001(
二进制
)
为了更好的学习使用
Python
,那就编写一个将10进制...
1 # 转
二进制
用bin(int(x,n)) #用几进制转换n就是几
2 # 转八进制用oct(int(x,n)) #x位置放现有进制字符串
3 # 转
十进制
用int(x,n)
4 # 转十六进制用hex(int(x,n))
十进制
转
二进制
IP
:
1 def convert(n):
2 a = n.split(".")...
方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数。
这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例:
例:将
十进制
的168转换为
二进制
得出
结果 将
十进制
的168转换为
二进制
,(10101000)2
168 / 2 = 84 – 0
84 / 2 = 42 – 0
42 / 2 = 21 – 0