十进制转换------Python

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaoluwei/article/details/86165713

# 二进制:

def binary(number):

    number_str = ''

    shang = number

    while 1:

        number_str += str(shang % 2)

        shang = shang // 2

        if shang == 0:

            break

    number_str = number_str[::-1]

    return '0b' + number_str

print(binary(100))

# 八进制

def octal(number):

    number_str = ''

    shang = number

    while 1:

        number_str += str(shang % 8)

        shang = shang // 8

        if shang == 0:

            break

    number_str = number_str[::-1]

    return '0o' + number_str

print(octal(100))

# 十六进制

def hexam(number):

    dic = {10: 'a',11:'b',12:'c',13:'d',14:'e',15:'f'}

# 这个空字符串用来保存余数

    string = ''

    while 1:

        # 先得到余数

        yushu = number % 16

        #判大于断余数是不是10

        if yushu >= 10:

            string += dic[yushu]

        else:

            string += str(yushu)

        number //= 16

        if number == 0:

            break

    return '0x' + string[::-1]

print(hexam(1000))

猜你喜欢

转载自blog.csdn.net/zhaoluwei/article/details/86165713