在Python中,十进制、二进制、八进制和十六进制之间的转换非常直接,主要通过内置的`int()`函数和格式化字符串(`format()`函数或f-string)来实现。 ### 十进制到其他进制的转换 #### 十进制转二进制 使用`bin()`函数或格式化字符串: ```python num = 10 # 使用bin()函数 binary = bin(num) print(binary) # 输出: 0b1010 # 使用格式化字符串 binary_formatted = format(num, 'b') print(binary_formatted) # 输出: 1010 ``` #### 十进制转八进制 使用`oct()`函数或格式化字符串: ```python num = 10 # 使用oct()函数 octal = oct(num) print(octal) # 输出: 0o12 # 使用格式化字符串 octal_formatted = format(num, 'o') print(octal_formatted) # 输出: 12 ``` #### 十进制转十六进制 使用`hex()`函数或格式化字符串: ```python num = 255 # 使用hex()函数 hexadecimal = hex(num) print(hexadecimal) # 输出: 0xff # 使用格式化字符串 hexadecimal_formatted = format(num, 'x') print(hexadecimal_formatted) # 输出: ff # 如果需要大写字母 hexadecimal_formatted_upper = format(num, 'X') print(hexadecimal_formatted_upper) # 输出: FF ``` ### 其他进制到十进制的转换 对于其他进制(二进制、八进制、十六进制)到十进制的转换,直接使用`int()`函数,并指定基数(base)即可。 #### 二进制转十进制 ```python binary_str = "1010" decimal = int(binary_str, 2) print(decimal) # 输出: 10 ``` #### 八进制转十进制 ```python octal_str = "12" decimal = int(octal_str, 8) print(decimal) # 输出: 10 ``` #### 十六进制转十进制 ```python hexadecimal_str = "ff" decimal = int(hexadecimal_str, 16) print(decimal) # 输出: 255 ``` 注意,在将字符串转换为整数时,如果字符串以`0b`、`0o`或`0x`开头(分别表示二进制、八进制和十六进制),Python会自动识别其基数,但更通用的做法是使用`int()`函数并明确指定基数。

点赞(0)
×
关注公众号,登录后继续创作
或点击进入高级版AI
扫码关注后未收到验证码,回复【登录】二字获取验证码
发表
评论
返回
顶部