进制转换python算法代码
时间: 2023-11-16 12:07:44 浏览: 115
--回答--
以下是Python中常用的进制转换算法代码:
1. 二进制转十进制
```python
s = '1001'
print(int(s, 2))
```
2. 八进制转十进制
```python
s = '17'
print(int(s, 8))
```
3. 十六进制转十进制
```python
s = '1F'
print(int(s, 16))
```
4. 十进制转十六进制
```python
n = 31
print(hex(n))
```
5. 十进制转二进制
```python
n = 9
print(bin(n))
```
6. 十进制转八进制
```python
n = 15
print(oct(n))
```
相关问题
用顺序栈实现非负十进制到二进制、八进制、十六进制的转换算法详细代码
为了将非负十进制数转换成二进制、八进制和十六进制,我们可以使用顺序栈的数据结构来逐步累加每一位的权值。这里是一个简单的Python示例代码:
首先,我们需要一个辅助函数`push_to_stack(stack, value, base)`,用于将给定数值`value`添加到`base`进制表示的栈中:
```python
def push_to_stack(stack, value, base):
while value > 0:
remainder = value % base
stack.append(remainder)
value //= base
# 主函数
def decimal_to_other_bases(decimal_num, bases=[2, 8, 16]):
result_stacks = [list() for _ in bases] # 初始化空栈列表
for base in bases:
push_to_stack(result_stacks[bases.index(base)], decimal_num, base)
# 将栈内容倒序,得到正确的数字顺序
return [''.join(map(str, reversed(stack))) for stack in result_stacks]
# 示例
decimal_num = 42
binary, octal, hexadecimal = decimal_to_other_bases(decimal_num)
print(f"Decimal {decimal_num}: Binary - {binary}, Octal - {octal}, Hexadecimal - {hexadecimal}")
```
运行这段代码,会输出十进制42分别转换为二进制、八进制和十六进制的结果。
帮我写一个rgb颜色转换到十六进制的python代码
下面是一个RGB颜色转换到十六进制的Python代码:
```
def rgb_to_hex(r, g, b):
return '#{:02x}{:02x}{:02x}'.format(r, g, b)
```
其中,r、g、b分别是RGB颜色的红、绿、蓝三个分量,函数返回的是一个十六进制颜色值,以#开头,后面跟着六位十六进制数,分别表示红、绿、蓝三个分量的值。例如,rgb_to_hex(255, 255, 0)将返回'#ffff00',表示黄色。
请注意,这个函数仅仅是将RGB颜色值转换为十六进制颜色值,而不是对颜色进行转换。如果要进行颜色转换,需要使用其他的算法和工具。
阅读全文