【Python】Python中十六进制、八进制的表示方式

本文介绍了Python中十六进制与八进制数的表示方法,包括不同版本Python中的差异,例如Python2和Python3中八进制的书写区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

十六进制:

>>>0xAF

小写的x或者或者大写的X都可以。

八进制:

>>>0o10

第二字母是o,小写的o或者大写的O都可以。
注意的是Python2八进制的表示方式可以如下:

>>>O10   //第一是字母O

但是,Python3输入的话会有如下的报错:

NameError: name 'O10' is not defined

现象:

### Python 中二进制、八进制十六进制的表示方法 在 Python 中,除了常见的十进制外,还支持其他几种进制来表示整数值: - **二进制**:前缀 `0b` 或者 `0B`。例如,二进制数 `101` 可写作 `0b101`。 - **八进制**:前缀 `0o` 或者 `0O`。比如,八进制下的 `755` 应写成 `0o755`。 - **十六进制**:前缀 `0x` 或者 `0X`。像十六进制里的 `FF` 则记作 `0xFF`[^2]。 ### 不同进制间的转换方式 #### 十进制到其它进制 对于由十进制向其余三种进制转变的情况,可以利用内置函数实现: ```python print(bin(10)) # 结果为 '0b1010' print(oct(10)) # 结果为 '0o12' print(hex(10)) # 结果为 '0xa' ``` 上述例子展示了如何把十进制数字 `10` 分别转化为对应的二进制、八进制以及十六进制形式[^4]。 #### 非十进制间互相转换 当涉及到非十进制之间相互变换时,则需先通过 `int()` 方法将源数据解析回十进制再做进一步处理: ##### 从任意进制转至十进制 假设有一个十六进制字符串 `"1F"` ,想要获取其代表的实际数值,可执行如下操作: ```python decimal_value = int('1F', 16) print(decimal_value) # 输出结果应为31 ``` 这里指定了基数(即第二个参数)为 `16`,告知解释器当前传入的是一个基于16位编码体系的数据串[^3]。 ##### 十六进制/八进制/二进制转为另一种特定进制 如果要完成更复杂的跨进制映射任务——譬如说要把某个十六进制值变成相应的二进制表达式,可以通过组合使用前面提到的技术达成目标: ```python binary_representation = bin(int("1F", 16)) print(binary_representation) # 屏幕上会显示'0b11111' ``` 这段代码片段首先调用了 `int()` 把原始的十六进制字符序列转变为内部计算所需的纯数字格式;接着借助于 `bin()` 完成了最终的目标转换过程[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值