当前位置 博文首页 > python内置进制转换函数的操作

    python内置进制转换函数的操作

    作者:段小胖 时间:2021-08-11 18:43

    看代码吧~

    dec = input('10进制数为:')
    print("转换为二进制为:", bin(dec))
    print("转换为八进制为:", oct(dec))
    print("转换为十六进制为:", hex(dec))
     
    string1 = '101010'
    print('二进制字符串转换成十进制数为:',int(string1,2))
    string1 = '367'
    print('八进制字符串转换成十进制数为:',int(string1,8))
    string3 = 'FFF'
    print('十六进制字符串转换成十进制数为:',int(string1,16))

    leetcode第476题:

    Input: 5
    Output: 2
    Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need to output 2.

    class Solution:
        def findComplement(self, num):
            """
            :type num: int
            :rtype: int
            """
            string = bin(num)
            string1 =''
            for i in range(2,len(string)):
                if string[i] == '1':
                    string1 += '0'
                else:
                    string1 += '1'                
            return int(string1,2) #二进制字符串转换成10进制整数

    python各进制之间转换函数

    这两天在研究修正农历库的事情,搞的很累,想用代码自动完成,于是又把python捡起来了,python还是很好捡的,虽然丢了挺长时间。

    其中就用了python各进制转换的问题,写下来以,备忘。之所以要写下来,而不是转发,是因为很多人写的比较啰嗦,我只把重点写出来就可以了,其他全部去掉。

    一共用到四个函数:bin()、oct()、int()、hex()

    int():转换为10进制;语法:Int(字符串,字符串进制) 。例: int("f",16) 输出为15;int('11',2)输出为3

    即以下三个函数都是把10进制数转换成目标进制。

    bin():转换为2进制;例:bin( int("f",16) )输出:'0b1111' .bin(15)同样输出'0b1111'。

    oct():转换为8进制;

    hex():转换为16进制。

    bin()、oct()、hex()的返回值均为字符串,分别带有0b、0o、0x前缀,后续处理时需注意。

    以下的x必须为“字符串”,需用引号。

    2->8:oct(int(x, 2))

    8->2:bin(int(x, 8))

    2->16:hex(int(x, 2))

    16->2:bin(int(x, 16))

    其他用法一样,就不举例了。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持站长博客。

    jsjbwy
    下一篇:没有了