Python数制转换代码
时间: 2023-07-10 08:04:19 浏览: 48
下面是Python的数制转换代码示例:
二进制转十进制:
```python
binary_num = '101101'
decimal_num = int(binary_num, 2)
print(decimal_num)
```
十进制转二进制:
```python
decimal_num = 45
binary_num = bin(decimal_num)[2:]
print(binary_num)
```
十进制转八进制:
```python
decimal_num = 45
octal_num = oct(decimal_num)[2:]
print(octal_num)
```
十进制转十六进制:
```python
decimal_num = 45
hexadecimal_num = hex(decimal_num)[2:]
print(hexadecimal_num)
```
八进制转十进制:
```python
octal_num = '55'
decimal_num = int(octal_num, 8)
print(decimal_num)
```
十六进制转十进制:
```python
hexadecimal_num = '2d'
decimal_num = int(hexadecimal_num, 16)
print(decimal_num)
```
相关问题
python 数制转换
Python提供了内置函数来进行不同数制之间的转换。常见的数制转换包括二进制、八进制、十进制和十六进制之间的相互转换。
要将一个数转换为二进制,可以使用内置函数bin()。例如,要将一个十进制数转换为二进制,可以使用以下代码:
```
decimal_num = 10
binary_num = bin(decimal_num)
```
要将一个数转换为八进制,可以使用内置函数oct()。例如,要将一个十进制数转换为八进制,可以使用以下代码:
```
decimal_num = 10
octal_num = oct(decimal_num)
```
要将一个数转换为十六进制,可以使用内置函数hex()。例如,要将一个十进制数转换为十六进制,可以使用以下代码:
```
decimal_num = 10
hexadecimal_num = hex(decimal_num)
```
要将一个二进制、八进制或十六进制数转换为十进制,可以使用内置函数int()。例如,要将一个二进制数转换为十进制,可以使用以下代码:
```
binary_num = '1010'
decimal_num = int(binary_num, 2)
```
要将一个八进制数转换为十进制,可以使用以下代码:
```
octal_num = '12'
decimal_num = int(octal_num, 8)
```
要将一个十六进制数转换为十进制,可以使用以下代码:
```
hexadecimal_num = 'A'
decimal_num = int(hexadecimal_num, 16)
```
利用栈实现数制转换代码
好的,下面是利用栈实现十进制数转换为任意进制数的代码(以转换为八进制为例):
```python
def decimal_to_octal(decimal):
stack = []
while decimal > 0:
remainder = decimal % 8
stack.append(str(remainder))
decimal = decimal // 8
octal = ""
while stack:
octal += stack.pop()
return octal
```
解释一下代码,首先我们定义一个空栈 `stack`,然后不断将十进制数除以8,将余数压入栈中,直到十进制数变成 0。这样我们就得到了一个倒序的八进制数。接下来我们再从栈中弹出元素,将其拼接起来就得到了正序的八进制数。
使用方式:
```python
>>> decimal_to_octal(11)
'13'
>>> decimal_to_octal(100)
'144'
>>> decimal_to_octal(256)
'400'
```