• Python实现十进制和二进制之间相互转换


    十进制转二进制

    • 原理:采用除2取余,逆序排列输出。
    • 实现:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后依次翻转排序即可得到二进制数,在Python中我们采”//”(地板除)的方法实现转换
    # 十进制整数转二进制
    def decToBin(num):
        arry = []   #定义一个空数组,用于存放2整除后的商
        while True:
            arry.append(str(num % 2))  #用列表的append方法追加
            num = num // 2   #用地板除求num的值
            if num == 0:     #若地板除后的值为0,那么退出循环
                break

        return "".join(arry[::-1]) #列表切片倒叙排列后再用join拼接

    print(decToBin(10))

    输出结果:1010

    二进制转十进制

    • 原理:要从右到左用二进制的每个数去乘以2的相应次方求累加。
    # 二进制整数转十进制
    def binToDec(binary):
        result = 0   #定义一个初始化变量,后续用于存储最终结果
        for i in range(len(binary)):
            #利用for循环及切片从右至左依次取出,然后再用内置方法求2的次方
            result += int(binary[-(i + 1)]) * pow(2, i)

        return result

    print(binToDec("1010"))
    结果:10
  • 相关阅读:
    六角星的创建
    即时音效
    扭动的软糖
    shaderutil的用法
    openGL es2.0 创建纹理灯光球
    雾的简单实现
    Python中的文件和目录操作实现代码
    [py] SyntaxError: invalid syntax
    【ssh】在使用ssh项目ContextLoaderListener 找不到。
    【jdbc】JDBC中Statement与PreparedStatement的区别
  • 原文地址:https://www.cnblogs.com/ddpeng/p/11302368.html
Copyright © 2020-2023  润新知