博客
关于我
python各进制的表述与转换
阅读量:799 次
发布时间: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利用pytorch库导出图像分割算子
查看>>
python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
查看>>
python利用excel分析过杀漏失
查看>>
python判断汉字数目
查看>>
python判断文件是空的,如果是空的,就删除
查看>>
python判断密码是否正确_python密码判断是否符合要求的方法
查看>>
python判断字符串包含中文_Python 判断字符串是否包含中文
查看>>
python删除第一行_Python 乱码指北:一行删掉根目录
查看>>
Python删除列表元素的三种方法
查看>>
python初步学习-python数据类型-集合(set)
查看>>
python列表生成字典_Python中将字典转换为列表的方法
查看>>
python列表对应元素合并为列表及判断一个列表是几维
查看>>
python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
查看>>
python列表前几个_python之列表
查看>>
python列表元组
查看>>
Python列表/元组/字典和集合使用
查看>>
python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
查看>>
python列表
查看>>
python列出当前目录、子目录和文件的脚本
查看>>
python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
查看>>