专业编程基础技术教程

网站首页 > 基础教程 正文

Python中的不同进制

ccvgpt 2024-09-09 02:25:06 基础教程 7 ℃

在Python中,整数可以以不同的进制(基数)表示。Python支持以下进制的表示方法:

  1. 十进制(Decimal):这是最常用的进制,也是默认的进制。你不需要任何前缀来表示十进制数。
decimal_number = 123
  1. 二进制(Binary):以 0b0B 开头。
binary_number = 0b1111011  # 等于十进制的 123
  1. 八进制(Octal):以 0o0O 开头。
octal_number = 0o173  # 等于十进制的 123
  1. 十六进制(Hexadecimal):以 0x0X 开头。
hexadecimal_number = 0x7B  # 等于十进制的 123

Python还提供了内置函数来在不同进制之间进行转换:

Python中的不同进制

  • int() 函数可以将一个字符串表示的数转换为指定进制的整数。
  • bin(), oct(), 和 hex() 函数可以将一个整数转换为二进制、八进制和十六进制的字符串表示。

例如:

# 将一个字符串表示的十六进制数转换为十进制整数  
decimal_from_hex = int('7B', 16)  
print(decimal_from_hex)  # 输出: 123  
  
# 将一个十进制整数转换为二进制字符串  
binary_string = bin(123)  
print(binary_string)  # 输出: 0b1111011  
  
# 将一个十进制整数转换为八进制字符串  
octal_string = oct(123)  
print(octal_string)  # 输出: 0o173  
  
# 将一个十进制整数转换为十六进制字符串  
hex_string = hex(123)  
print(hex_string)  # 输出: 0x7b

注意,bin(), oct(), 和 hex() 返回的字符串总是以 '0b', '0o', 或 '0x' 开头,表示该数是二进制、八进制或十六进制数。如果你想去掉这些前缀,可以使用字符串切片操作:

binary_string_without_prefix = bin(123)[2:]  
print(binary_string_without_prefix)  # 输出: 1111011

这些进制转换功能在处理文件、网络通信、加密和其他需要不同进制表示的场景时非常有用。

最近发表
标签列表