python - 使用python脚本将十六进制、八进制数转换为十进制形式

标签 python hex octal

有许多内置函数,如 int(octal),可用于在命令行上将八进制数转换为十进制数,但这些在脚本中不起作用。 int(0671) 在脚本中返回 0671,因为它表示 python 命令行中八进制数的十进制形式。 帮助???

谢谢

最佳答案

这里有些困惑——迂腐地(对于计算机,最好是迂腐地;-),没有“八进制数”,有字符串,它们是八进制的表示 的数字(和其他字符串,更常见的是它们的十进制表示,十六进制表示)。基础数字(整数)是与任何表示形式完全不同的类型(默认情况下显示它们的十进制表示形式)——例如:

>>> 2 + 2
4
>>> '2' + '2'
'22'

引号表示字符串(即表示形式)——请注意,就其本身而言,它们与它们可能表示的数字无关。

因此,解释您的问题的一种方法是您希望将八进制表示形式转换为十进制表示形式(等等)——即:

>>> str(int('0671', 8))
'441'

注意引号(表示字符串,即表示)。 int(s, 8) 将字符串 s 转换为八进制表示形式的整数(如果转换无效则引发异常)。 str(n) 生成数字 n 的字符串形式(正如我提到的,默认情况下是十进制表示形式)。

关于python - 使用python脚本将十六进制、八进制数转换为十进制形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3042135/

相关文章:

c - 八进制和十六进制的 stringTOint 转换

javascript - 将八进制和十六进制数转换为基数 10

python - 将行添加到 Dataframe 时出现 ValueError

python - 如何平均划分椭圆的周长?

java - IntelliJ Python 插件

java - 在java中的十六进制字符串中应用2的补码

java - 将一些十六进制字符串转换为十进制整数

php - 解析错误 : Invalid numeric literal

python - 从三个一维数组创建热图

c++ - 为什么十六进制地址是 14 个字符?