用python编程,将一个输入的十进制的数转换成二进制,八进制,十六进制,不使用内置函数
时间: 2023-08-10 07:05:55 浏览: 119
可以使用循环和位运算符来实现十进制数转换为二进制、八进制和十六进制:
```
# 十进制转二进制
def decimal_to_binary(decimal):
binary = ''
while decimal > 0:
binary = str(decimal % 2) + binary
decimal //= 2
return binary
# 十进制转八进制
def decimal_to_octal(decimal):
octal = ''
while decimal > 0:
octal = str(decimal % 8) + octal
decimal //= 8
return octal
# 十进制转十六进制
def decimal_to_hexadecimal(decimal):
hexadecimal = ''
while decimal > 0:
remainder = decimal % 16
if remainder < 10:
hexadecimal = str(remainder) + hexadecimal
else:
hexadecimal = chr(remainder - 10 + ord('A')) + hexadecimal
decimal //= 16
return hexadecimal
# 测试
decimal = 123
print(decimal_to_binary(decimal)) # 输出:1111011
print(decimal_to_octal(decimal)) # 输出:173
print(decimal_to_hexadecimal(decimal)) # 输出:7B
```
这里用到了取模运算符 `%` 和整除运算符 `//`,以及 Python 内置函数 `chr()` 和 `ord()`,分别用于将 ASCII 码转换为字符和将字符转换为 ASCII 码。
阅读全文