02 第三组(4个)进制转换
进制转换:二进制,十六进制、八进制、十进制
bin 二进制 oct 8进制 hex 十六进制 int 10进制
- 二进制 和十进制
#10进制转二进制
v1 = bin(48)
print(v1)
#二进制转10进制
v1 = '0b1010101'
v2 = int(v1, base=2)
- 八进制 和十进制
#10进制转八进制
v1 = oct(48)
print(v1)
#八进制转10进制
v1 = '0o2233445'
v2 = int(v1, base=8)
十六进制 和十进制
#10进制转十六进制
v1 = hex(48)
print(v1)
#十六进制转10进制
v1 = '0x10abcd10101'
v2 = int(v1, base=16)
-
练习
""" 1、给你一个IP地址,请将IP地址 中的每个进制数字转换成对应二进制 2、继续实现,将结果拼接起来:11000000101010000000101100010111,再将此二进制的字符串转换成10进制整数 """ # 方式1 def ip_switch(ip): data_list = ip.split('.') # 转换为:列表字符串[192.168.11.23] result = [] for item in data_list: bin_string = bin(int(item)).replace('0b', '') # 进制转换后为字符串 if len(bin_string) % 8 == 0: result.append(bin_string) else: new_bin_string = (("0" * (8 - len(bin_string))) + bin_string) result.append(new_bin_string) return result # 方式2 def ip_switch2(ip): result = [] data_list = ip.split('.') for item in data_list: bin_string = bin(int(item))[2:] bin_8_string = bin_string.rjust(8, '0') result.append(bin_8_string) return result def main(): ip = "192.168.11.23" ip_list = ip_switch2(ip) str_item = ''.join(ip_list) # 将列表中的字符串通过join 进行拼接成一起 v2 = int(str_item, base=2) print(v2) main()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)