用Python写一个进制转换的程序
时间: 2023-09-18 13:06:11 浏览: 116
### 回答1:
我可以给你一个简单的Python代码,用来实现进制转换的程序:# 进制转换函数
def convert(decimal_number, base):
converted_string, modstring = "", ""
current_number = decimal_number
while current_number:
mod = current_number % base
current_number = current_number // base
converted_string = chr(48 + mod + 7*(mod > 10)) + converted_string
return converted_string# 主函数
if __name__ == "__main__":
decimal_number = int(input("请输入要转换的十进制数:"))
base = int(input("请输入要转换的进制:"))
print("转换结果:",convert(decimal_number, base))
### 回答2:
下面是一个用Python编写的进制转换程序示例:
```python
def decimal_to_binary(decimal):
binary = ""
while decimal > 0:
binary = str(decimal % 2) + binary
decimal //= 2
return binary
def decimal_to_hexadecimal(decimal):
hexadecimal = ""
hex_dict = {10: "A", 11: "B", 12: "C", 13: "D", 14: "E", 15: "F"}
while decimal > 0:
remainder = decimal % 16
if remainder >= 10:
hexadecimal = hex_dict[remainder] + hexadecimal
else:
hexadecimal = str(remainder) + hexadecimal
decimal //= 16
return hexadecimal
def binary_to_decimal(binary):
decimal = 0
n = len(binary)
for i in range(n):
decimal += int(binary[i]) * (2**(n-i-1))
return decimal
def hexadecimal_to_decimal(hexadecimal):
decimal = 0
n = len(hexadecimal)
hex_dict = {"A": 10, "B": 11, "C": 12, "D": 13, "E": 14, "F": 15}
for i in range(n):
if hexadecimal[i] in hex_dict:
decimal += hex_dict[hexadecimal[i]] * (16**(n-i-1))
else:
decimal += int(hexadecimal[i]) * (16**(n-i-1))
return decimal
num = int(input("请输入一个十进制数:"))
print("二进制数:", decimal_to_binary(num))
print("十六进制数:", decimal_to_hexadecimal(num))
binary_num = input("请输入一个二进制数:")
print("十进制数:", binary_to_decimal(binary_num))
hexadecimal_num = input("请输入一个十六进制数:")
print("十进制数:", hexadecimal_to_decimal(hexadecimal_num))
```
以上程序实现了十进制到二进制、十进制到十六进制、二进制到十进制、十六进制到十进制的转换。用户可以输入相应的数值进行转换,并且程序会输出转换结果。
### 回答3:
进制转换是计算机编程中常见的需求之一,Python作为一种高级编程语言,提供了很多方便的操作函数和方法来完成进制转换。
首先,我们可以使用内置函数`bin()`、`oct()`和`hex()`来分别将十进制数转换为二进制、八进制和十六进制表示形式。
```python
decimal = 100
binary = bin(decimal)
octal = oct(decimal)
hexadecimal = hex(decimal)
print("二进制:", binary)
print("八进制:", octal)
print("十六进制:", hexadecimal)
```
这段代码将输出:
```
二进制: 0b1100100
八进制: 0o144
十六进制: 0x64
```
如果要将二进制、八进制或十六进制转换为十进制数,我们可以使用内置函数`int()`。
```python
binary = "1100100"
octal = "144"
hexadecimal = "64"
decimal1 = int(binary, 2)
decimal2 = int(octal, 8)
decimal3 = int(hexadecimal, 16)
print("二进制转十进制:", decimal1)
print("八进制转十进制:", decimal2)
print("十六进制转十进制:", decimal3)
```
这段代码将输出:
```
二进制转十进制: 100
八进制转十进制: 100
十六进制转十进制: 100
```
以上就是使用Python编写一个进制转换的简单程序。通过使用内置函数`bin()`、`oct()`和`hex()`可以将十进制数转换为二进制、八进制和十六进制表示形式,而使用内置函数`int()`可以将二进制、八进制和十六进制转换为十进制数。
阅读全文