进制转换
进制之间的转换主要是利用十进制完成的。在进制转换的过程中,可以首先将相关进制转换为十进制的,再进行二次转换达到想要的效果。当然在进制转换中,也可以直接进行转换,不进行十进制的中转操作。
1. 十进制与二进制
1.1 十进制转二进制
使用bin()函数
bin(number, /)其它进制转二进制,返回整数的二进制表示形式
1
2
3
|
n = 120 print ( bin (n)) # n 不改变 # 0b1111000 |
二进制以0b开头,若想去掉0b显示,可采用切片方法
1
2
|
print ( bin (n)[ 2 :]) # 1111000 |
1.2 二进制转十进制
使用int()函数
1
|
n = 120er = bin(n)print(int(er, 2)) # 120 |
2. 十进制与八进制
2.1 十进制转八进制
使用oct()函数
1
2
3
|
n = 120 print ( oct (n)) # 0o170 |
2.2 八进制转十进制
使用int()函数
1
|
n = 120eight = oct(n)print(int(eight,8))# 120 |
3. 十进制与十六进制
3.1 十进制转十六进制
使用hex()函数
1
2
3
|
n = 120 print ( hex (n)) # 0x78 |
3.2 十六进制转十进制
使用int()函数
1
2
3
4
|
n = 120 sixteen = hex (n) print ( int (sixteen, 16 )) # 120 |
4. 其它进制之间的相互转换
使用bin()、oct()、hex() 函数可以进行进制之间的直接转换,这时的进制的前缀必须带着。
例如:
二进制转八进制
1.二进制转十进制再转八进制
1
2
3
4
|
n = 120 er = bin (n) # er = '0b1111000' print ( oct ( int (er, 2 ))) # 0o170 |
2.二进制直接转八进制
1
2
3
4
5
|
n = 120 er = bin (n) # er = '0b1111000' bb = oct ( 0b1111000 ) print (bb) # 0o170 |
ASCll转换
1. 整数转换为ASCLL字符
采用chr()函数,可以将位于【0, 255】之间的整数转换为ASCLL字符。
例如:
1
2
|
a = chr ( 65 ) # a = 'A' |
2. 将ASCLL字符转换为整数
采用ord() 函数将一个ASCLL字符转换为对应的整数
1
2
3
|
b = ord ( 'A' ) print (b) # 65 |
函数 | 说明 |
---|---|
bin() | 其它进制转成二进制,返回整数的二进制表示形式 |
oct() | 其它进制转成八进制,返回整数的八进制表示形式 |
hex() | 其它进制转成16进制,返回整数的十六进制表示形式 |
int(number, /) | 将其它进制转为十进制 |
chr() | 将整数转换为对应的ASCLL字符 |
ord() | 将一个ASCLL字符转换为对应的整数 |
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/weixin_51047199/article/details/123150955