Python——进制转换

limalove / 2023-08-31 / 原文

chr( ):将ASCII值转换为ASCII字符。

ord( ):将ASCII字符转换为ASCII值。

hex( ):hexadecimal ,将整数转换为十六进制的字符串

oct( ):octal,将整数转换为八进制的字符串。(注意:最后结果是字符串)

 

 

int(x, base) 函数

base:进制位,即把x视为几进制转换为十进制数;

int('1234', 8) :把1234视为八进制数,转换为十进制数;

int(x, base) 函数

base:进制位,即把x视为几进制转换为十进制数;

int('1234', 8) :把1234视为八进制数,转换为十进制数;

 

为什么前面要加上0x, 0o, 0b呢?

答:  因为除了十进制,其他进制的数都需要增加引导符号。二进制数以0b引导,八进制数以0x引导,十六进制数以0x引导,其中字母采用大小写均可。

 

 Python3 字符串 | 菜鸟教程 (runoob.com)

格式化:

#功能:在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

num=10
# 注意:这里直接是% num,没有使用hex(num), https://www.runoob.com/python3/python3-string.html
print('十六进制:%#x' % num)    #使用%x将十进制num格式化为十六进制
# 十六进制:0xa
print('二进制:', bin(num))      #使用bin将十进制num格式化为二进制
# 二进制: 0b1010
print('八进制:%#o' % num)      #使用%o将十进制num格式化为八进制
# 八进制:0o12


#另外一种进制转换格式化方法,https://www.runoob.com/python3/python3-loop.html
print('十进制 --> 十六进制 :%d -> 0x%x' %(num,num))
print('十进制 -->   八进制 :%d -> 0o%o' %(num,num))
print('十进制 -->   二进制 :%d ->'      %num,bin(num))