进制转换器在线
以下是进制转换器的详细说明和实现方法,支持 2进制到36进制 之间的转换(使用数字0-9和字母a-z表示10-35):
核心算法步骤:
-
验证输入
- 检查源进制(
base1)和目标进制(base2)是否在 2~36 范围内。 - 检查输入字符串
num_str是否符合源进制规则(如二进制只能包含0和1)。
- 检查源进制(
-
统一为小写
将输入字符串中的字母转为小写(如A→a)。 -
转为十进制(中间转换)
按权展开求和:
公式:
[ \text{decimal_value} = \sum_{i=0}^{n-1} ( \text{char_to_value}(num_str[i]) \times base1^{(n-1-i)} ) ]- 从右向左逐位计算(最低位权重为 (base1^0))。
- 字母
a~z转为数值 10~35。
-
十进制转目标进制
除基取余法(反向拼接余数):- 用十进制值反复除以
base2,记录余数。 - 余数 >9 时转为字母(如
10→a)。 - 若结果为
0,直接返回"0"。
- 用十进制值反复除以
Python 代码实现:
def convert_base(num_str, base1, base2):
# 验证进制范围
if not (2 <= base1 <= 36) or not (2 <= base2 <= 36):
return "进制必须在2-36之间"
num_str = num_str.lower() # 统一小写
valid_chars = "0123456789abcdefghijklmnopqrstuvwxyz"[:base1]
# 验证输入字符串合法性
if any(char not in valid_chars for char in num_str):
return f"输入不合法:在 {base1} 进制下只能包含 {valid_chars}"
# 特判:输入为 "0"
if num_str == "0":
return "0"
# 转十进制
decimal_value = 0
for char in num_str:
decimal_value = decimal_value * base1 + (ord(char) - 87 if char.isalpha() else ord(char) - 48)
# 转目标进制
if decimal_value == 0:
return "0"
result = []
while decimal_value:
decimal_value, r = divmod(decimal_value, base2)
result.append(chr(r + 87) if r > 9 else str(r))
return ''.join(result[::-1])
# 测试示例
print(convert_base("1010", 2, 10)) # 输出: 10
print(convert_base("FF", 16, 2)) # 输出: 11111111
print(convert_base("Z", 36, 10)) # 输出: 35
使用示例:
| 输入字符串 | 源进制 | 目标进制 | 输出结果 |
|---|---|---|---|
"1010" |
2 | 10 | "10" |
"FF" |
16 | 2 | "11111111" |
"Z" |
36 | 10 | "35" |
"2024" |
10 | 16 | "7e8" |
"Hello" |
32 | 10 | "183067" |
注意:字母不区分大小写(
a和A均视为 10)。
在线使用:
您可以直接复制代码到 Python 环境运行,或访问在线 Python 工具(如 Replit)快速测试。输入格式为 convert_base("数字字符串", 源进制, 目标进制)。
精密微功率∆∑ RMS-DC转换器LTC1966
LTC®1966年是一个真正的RMS-DC转换器,它利用了一种创新的专利DS计算技术。LTC1966的内部增量西格玛电路使其比传统的对数抗对数RMS-DC转换器更精确、更低的功率和更灵活的使用。
资料下载
无惧无畏
2021-05-11 09:50:39
ADC模数转换器介绍
模数转换器(analog to Digital Converter,简称ADC)是一种数据转换器,它通过将模拟信号编码为二进制代码,使数字电路能
2023-06-26 11:44:22
DA转换器的相关资料分享
一、DA转换器的分类权电阻网络D/A转换器一个多位二进制数中每一位的1所代表的数值大小称为这一位的权。(此处放一个位数和权重的表格)对于N位的权
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机