Python进制转换,int,oct,bin,hex函数

在生活和实际开发中,进制转换是一个常考的知识点。 虽然Java开发者已经对其进行了封装,但还是要学会自己编写相应的进制转换器的。 常用的进制有二进制,八进制,十进制,十六进制。

进制表示形式:

  十进制:直接输入整数, 八进制:0o 开头  十六进制 0x开头, 二进制 0b开头

下表列出了Python内置函数的转换方法。

image

 十进制转其他进制:

  • 十进制转二进制:使用 bin() 函数

    decimal = 10
    binary = bin(decimal)
    print(binary) # '0b1010'
  • 十进制转八进制:使用 oct() 函数

    decimal = 10
    octal = oct(decimal)
    print(octal) # '0o12'
  • 十进制转十六进制:使用 hex() 函数

    decimal = 10
    hexadecimal = hex(decimal)
    print(hexadecimal) # '0xa'

其他进制转十进制:

  • 二进制转十进制:使用 int() 函数,并指定进制参数

    binary = '1010'
    decimal = int(binary, 2)
    print(decimal) # 10
  • 八进制转十进制:使用 int() 函数,并指定进制参数

    octal = '12'
    decimal = int(octal, 8)
    print(decimal) # 10
  • 十六进制转十进制:使用 int() 函数,并指定进制参数

    hexadecimal = 'a'
    decimal = int(hexadecimal, 16)
    print(decimal) # 10

其他进制之间的转换:

  • 二进制转八进制:先将二进制转换为十进制,再将十进制转换为八进制

    binary = '1010'
    decimal = int(binary, 2)
    octal = oct(decimal)
    print(octal) # '0o12'
  • 八进制转二进制:先将八进制转换为十进制,再将十进制转换为二进制

    octal = '12'
    decimal = int(octal, 8)
    binary = bin(decimal)
    print(binary) # '0b1010'
  • 十六进制转二进制:先将十六进制转换为十进制,再将十进制转换为二进制

    hexadecimal = 'a'
    decimal = int(hexadecimal, 16)
    binary = bin(decimal)
    print(binary) # '0b1010'

注意事项:

       int(函数没有base传参默认是10进制,传0 也是十进制), 其他进制转换10 进制(base参数必须传参)

  • 在进行进制转换时,需要注意传递正确的参数和指定正确的进制。

  • 进制转换的结果以字符串形式表示,如果需要进行数值计算,可能需要将结果转换为相应的数值类型。

Java的进制转换:

十进制转其他进制
• 转二进制:Integer.toBinaryString(int i)
• 转八进制:Integer.toOctalString(int i)
• 转十六进制:Integer.toHexString(int i)

其他进制转十进制
• 二进制转:Integer.valueOf("1111", 2).toString()
• 八进制转:Integer.valueOf("7777", 8).toString()
• 十六进制转:Integer.valueOf("FFFF", 16).toString()

其他进制间互相转换
• 用十进制做中转,然后转换。

 

参考:https://developer.aliyun.com/article/844132

posted @ 2025-08-18 09:55  konglingbin  阅读(64)  评论(0)    收藏  举报