Python中的进制转换

在python中可以通过内置方法进行相应的进制转换,但需记得转化成非十进制时,都会将数字转化成字符串

转化成二进制

>>>a = 10  #声明数字,默认十进制
>>>b = bin(a)
>>>print(b , type(b))
0b1010 <class 'str'>

转化成八进制

>>>a = 10  #声明数字,默认十进制
>>>b = oct(a)
>>>print(b , type(b))
0o12 <class 'str'>

转化成十六进制

>>>a = 10  #声明数字,默认十进制
>>>b = hex(a)
>>>print(b , type(b))
0xa <class 'str'>

将非十进制数转化成十进制数

用int()方法可以将非十进制数转化成十进制,语法int(字符串数字,base=2\8\16(表示字符串数字本身是2进制还是8进制还是16进制))

>>>a = '10'  #声明数字,默认十进制
>>>print(int(a,base=2))
2
>>>print(int(a,base=8))
8
>>>print(int(a,base=16))
16
Python,可以使用多种方法进行进制转换。其比较常用的是使用内置函数进行转换。一般的做法是先将输入的字符串或自定义的字符串转换为十进制,然后再将十进制转换为其他进制,如二进制、八进制、十六进制等。常用的内置函数有bin()、oct()和hex()。例如,使用bin()函数可以将十进制转换为二进制,使用oct()函数可以将十进制转换为八进制,使用hex()函数可以将十进制转换为十六进制。示例代码如下: ```python dec = 42 bin_num = bin(dec) oct_num = oct(dec) hex_num = hex(dec) print("Binary:", bin_num) print("Octal:", oct_num) print("Hexadecimal:", hex_num) ``` 输出结果为: ``` Binary: 0b101010 Octal: 0o52 Hexadecimal: 0x2a ``` 另外,如果要进行任意进制间的转换,可以使用format函数。在format函数加上'b'、'o'、'x'可以将其他进制转换为二进制、八进制或十六进制。示例代码如下: ```python binary = "{:b}".format(int(input(), 8)) octal = "{:o}".format(int(input(), 8)) hexadecimal = "{:x}".format(int(input(), 8)) print("Binary:", binary) print("Octal:", octal) print("Hexadecimal:", hexadecimal) ``` 这样就可以实现任意进制间的转换了。 #### 引用[.reference_title] - *1* *2* [python常见进制转换方法](https://blog.csdn.net/frighting_ing/article/details/127857708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [python进制转换](https://blog.csdn.net/2203_75758128/article/details/129662202)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值