博客
关于我
python各进制的表述与转换
阅读量:798 次
发布时间:2023-03-07

本文共 1913 字,大约阅读时间需要 6 分钟。

进制的表示与转换

目录

  • 进制的表示
  • 进制的转换
    • bin()函数:十进制转二进制
    • oct()函数:十进制转八进制
    • hex()函数:十进制转十六进制
    • int(a, R)函数:R进制转十进制
  • 小数转换
    • 十进制小数转R进制
    • R进制小数转十进制

进制的表示

在编程中,进制表示是将数字以特定的基数表示为字符串形式。常见的进制表示方式包括二进制、八进制和十六进制。

  • 二进制表示

    二进制以0b开头,例如:

    print(0b10)  # 输出:2  
    print(0b11) # 输出:3

    10在二进制中表示为0b10,对应十进制的2。

  • 八进制表示

    八进制以0o开头,例如:

    print(0o10)  # 输出:8  
    print(0o11) # 输出:9

    10在八进制中表示为0o10,对应十进制的8。

  • 十六进制表示

    十六进制以0x开头,例如:

    print(0x10)  # 输出:16  
    print(0x11) # 输出:17

    10在十六进制中表示为0x10,对应十进制的16。

  • 默认十进制表示

    如果没有指定进制,输入默认为十进制数,例如:

    print(10)  # 输出:10

进制的转换

在Python中,可以通过内置函数轻松实现进制转换。以下是常用的转换函数及其使用方法。

1. 十进制转二进制(bin()函数)

bin()函数用于将十进制数转换为二进制字符串。

例如:

i = 16  
j = bin(i)
print(j) # 输出:'0b10000'

0b10000表示十进制数16转换为二进制后为10000

2. 十进制转八进制(oct()函数)

oct()函数用于将十进制数转换为八进制字符串。

例如:

i = 16  
j = oct(i)
print(j) # 输出:'0o20'

0o20表示十进制数16转换为八进制后为20

3. 十进制转十六进制(hex()函数)

hex()函数用于将十进制数转换为十六进制字符串。

例如:

i = 16  
j = hex(i)
print(j) # 输出:'0x10'

0x10表示十进制数16转换为十六进制后为10

4. R进制转十进制(int(a, R)函数)

int()函数可以接收任意进制的字符串并将其转换为十进制数。需注意,输入必须是字符串类型。

例如:

i = "10"  
j = int(i, 2) # 二进制转换
print(j) # 输出:2
i = "10"
j = int(i, 8) # 八进制转换
print(j) # 输出:8
i = "10"
j = int(i, 16) # 十六进制转换
print(j) # 输出:16

小数转换

1. 十进制小数转R进制

以下函数可以实现十进制小数转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)

2. R进制小数转十进制

以下函数可以实现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中进行不同进制之间的转换操作。无论是整数转换还是小数转换,都可以通过内置函数和自定义函数来实现。

转载地址:http://vqofk.baihongyu.com/

你可能感兴趣的文章
python+flask计算机毕业设计高校疫情防控管理平台(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校网上迎新系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校运动会(程序+开题+论文)
查看>>