利用循环实现十六进制转化为十进制
时间: 2023-09-26 17:13:57 浏览: 93
十六进制转十进制的实现
好的,以下是利用循环实现十六进制转化为十进制的代码示例:
```python
hex_str = "1A7" # 十六进制字符串
dec_num = 0 # 十进制数值
for i in range(len(hex_str)):
digit = hex_str[i]
if digit.isdigit():
dec_num += int(digit) * 16 ** (len(hex_str) - i - 1)
else:
# 如果是字母,转换为对应的数值
dec_num += (ord(digit) - 55) * 16 ** (len(hex_str) - i - 1)
print(dec_num)
```
解释一下代码:
首先,我们定义了一个十六进制字符串 `hex_str` 和一个初始值为 0 的十进制数值 `dec_num`。
然后,我们利用 `for` 循环遍历十六进制字符串中的每一个字符,从高位到低位依次处理。对于每一个字符,我们判断它是否是数字,如果是数字,直接将其转换为对应的十进制数值并加到 `dec_num` 上;如果是字母,需要先将其转换为对应的数值再加到 `dec_num` 上。
最后,`dec_num` 就是我们需要的十进制数值。
阅读全文