首页 > 其他分享 >02 第三组(4个)进制转换

02 第三组(4个)进制转换

时间:2024-09-25 22:45:14浏览次数:9  
标签:02 第三组 进制 10 ip v1 bin string

进制转换:二进制,十六进制、八进制、十进制

bin 二进制 oct 8进制 hex 十六进制 int 10进制

image-20240814211123499

  • 二进制 和十进制
#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()
    

标签:02,第三组,进制,10,ip,v1,bin,string
From: https://www.cnblogs.com/jhchena/p/18432467

相关文章

  • 02 函数编程案例 邮件发送
    2、函数式编程-邮件发送defsend_email(): importsmtplibfromemail.mime.textimportMIMETextfromemail.utilsimportformataddrmsg=MIMEText('老板,我想演男一号,你想怎么着都行。','plain','utf-8')msg['From']=formataddr......
  • 进制数知识(2)—— 浮点数在内存中的存储 和 易混淆的二进制知识总结
    目录1.浮点数在内存中的存储1.1浮点数的大V表示法1.2浮点数的存储格式1.3 浮点数的存入规则1.4 浮点数的读取规则1.5补充:移码与掩码1.6 题目解析2. 易错的二进制知识2.0 符号位到底会不会参与运算?2.0.1存储前的编码变化运算2.0.2存储后的数值算术运算2......
  • 2024主流前端框架对比和选择
    Hello,大家好,我是Feri,一枚十多年的程序员,同时也是一名在读研究生,关注我,且看一个平凡的程序员如何在自我成长,CodingSir是我想打造一个编程社区,只为各位小伙伴提供编程相关干货知识,希望在自我蜕变的路上,我们一起努力,努力什么时候开始都不晚,我,从现在开始做起!一、前言     ......
  • 02 文件实际操作
    ###4.3实际操作>read(),全部读到内存#####1、表示一个字符```pythonobj=open('a.txt',mode='r',encoding='utf-8')data=obj.read(1)#1个字符obj.close()print(data)2、表示一个字节obj=open('a.txt',mode='rb')data=......
  • 2024.9.24 Python与C++面试八股文
    1.externextern关键字用于在多个文件中引用同一个全局变量的声明在一个头文件中,如果这个变量声明了,但是在cpp文件中没找到他的定义,那么编译就会报错,但是如果加了extern,编译器就不会给头文件报错,而是给cpp文件报错,如果函数没定义的话。或者定义出错的话。2.关于反复调用简......
  • [GYM103119K][2020 ICPC Asia Macau] Candy Ads 题解
    题意简述有\(n\)个广告,每个广告在一个时间段内占据二维平面的矩形,\(m\)个约束表示两个广告至少有一个要被选择,选择若干广告,满足所有约束且同时刻不能有重叠的广告。Kosaraju算法流程在正图上跑一遍DFS,给每个位置打上时间戳从时间戳大到小枚举点,在反图上跑DFS,这个时候对......
  • 2024.9 做题笔记
    CF1575IIllusionsoftheDesert看这个边权这么复杂,猜测其必然有一些性质。对\(a_u,a_v\)的正负分讨易得\(\max(|a_u+a_v|,|a_u-a_v|)=|a_u|+|a_v|\),树剖树状数组单点修改链求和即可。ABC177FIhateShortestPathProblem考虑dp,设\(f_{i,j}\)表示到达第\(i\)行第\(......
  • 2024年一款非常好用的视频剪辑软件会声会影Corel VideoStudio2024,非常适合新手
    随着数字媒体的飞速发展,视频剪辑已成为表达创意、传播信息的重要工具。2024年,视频剪辑软件市场迎来了新一轮的革新与竞争。今天,我们就来盘点一下这一年里备受瞩目的十大视频剪辑软件,无论你是初学者还是专业团队,都能在其中找到适合你的那一款。会声会影CorelVideoStudio2024一......
  • 20240906
    NewDimensions我们假设枚举\(a,b\)那么我们显然可以发现\(a^2+b^2+c^2-ab-ab-bc\)中\(c\)越大越好#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=5e3+5;intn,v[N],ans;signedmain(){cin>>n;for......
  • 20240925 随机训练
    Yukicoder2897题目描述给定两个点集\(S,T\),我们定义\(d((x_1,y_1),(x_2,y_2))=|x_1-x_2|+|y_1-y_2|\)。我们定义两个集合\(S,T\)的距离\(D(S,T)=\min\limits_{s\inS,t\inT}\{d(s,t)\}\)。求\(D(S,T)\)。思路我们把每个\(S\)中的元素放在一起做一个多源bfs,然后对......