python各进制的表述与转换

目录

进制的表示

进制的转换

bin() 十进制转二进制

oct() 十进制转八进制

hex() 十进制转十六进制

int(a,R)  R进制数a(必须为字符串类型)转换成十进制

十进制小数转R进制

R进制小数转十进制


进制的表示

二进制:0b

八进制:0o

十六进制:0x

# 二进制标识符为0b 打印输出对应其带代表的十进制数
print(0b10)   # 2
print(0b11)   # 3

# 八进制标识符为0o 打印输出对应其带代表的十进制数
print(0o10)   # 8
print(0o11)   # 9

# 二进制标识符为0x 打印输出对应其带代表的十进制数
print(0x10)   # 16
print(0x11)   # 17

# 输入数字默认为十进制数
print(10)   # 10

进制的转换





bin() 十进制转二进制

#十进制转换二进制
i = 16
j = bin(i)
print(j)

0b10000
0b:表示它是一个二进制数字,10000:十进制数16转换成二进制的值

oct() 十进制转八进制

#十进制转换八进制
i = 16
j = oct(i)
print(j)

0o20
0o:表示它是一个八进制数字,20:十进制数16转换成八进制的值

hex() 十进制转十六进制

#十进制转换十六进制
i = 16
j = hex(i)
print(j)

0x10
0x:表示它是一个十六进制数字,10:十进制数16转换成十六进制的值





int(a,R)  R进制数a(必须为字符串类型)转换成十进制

#二进制转换十进制
i = "10"      
j = int(i, 2)  #在其他进制转换成十进制时,i 的类型需要是字符串类型;
print(j)

2

#八进制转换十进制
i = "10"      
j = int(i, 8)  #在其他进制转换成十进制时,i 的类型需要是字符串类型;
print(j)

8

#十六进制转换十进制
i = "10"      
j = int(i, 16)  #在其他进制转换成十进制时,i 的类型需要是字符串类型;
print(j)

16

十进制小数转R进制

def dec2R(dec, R, n):
    '''
    :param dec: 需要转换的十进制小数
    :param R: 转换进制
    :param n: 保留小数位数
    :return: 转换后的R进制小数
    '''
    result = ['0.']
    for i in range(n):
        dec = dec*R
        dec_int = int(dec)
        result.append(str(dec_int))
        dec = dec - dec_int
        if dec == 0:
            break
    return ''.join(result)

R进制小数转十进制

def R2dec(r_float_num, R):
    '''
    :param r_float_num: 需要转换的R进制小数
    :param R: 转换进制
    :return: 转换后的十进制小数
    '''
    result = 0
    for index, ch in enumerate(str(r_float_num)[2:],start=1):
        result = result + int(ch)*(R**(-index))
    return result

参考自python进制转换函数_际遇98的博客-CSDN博客_python进制转换函数

你可能感兴趣的:(python基础学习,python)