You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将二进制字符串'10011011001'转换为十六进制字符串?

二进制字符串转十六进制的最优方法

手动计算(适合短字符串快速转换)

  1. 补前导零对齐4位分组:十六进制每一位对应4位二进制,先把原字符串长度补成4的倍数。原字符串'10011011001'共11位,补1个前导零变成'010011011001'(12位)。
  2. 按4位分组转换:拆分补全后的字符串为0100、1101、1001三组,分别对应:
    • 0100 → 十进制4 → 十六进制4
    • 1101 → 十进制13 → 十六进制D
    • 1001 → 十进制9 → 十六进制9
  3. 拼接结果:把各组字符连起来,得到4D9(大小写可按需调整)。

编程实现(最高效方案)

直接用编程语言的内置函数是最优解——底层已做性能优化,代码简洁且不易出错:

Python 示例

binary_str = '10011011001'
hex_str = hex(int(binary_str, 2))[2:]  # 输出 '4d9'
# 如需大写结果
hex_str_upper = hex(int(binary_str, 2))[2:].upper()  # 输出 '4D9'

解释:int(binary_str, 2)将二进制字符串转为十进制整数,hex()再把整数转为带0x前缀的十六进制字符串,最后用[2:]去掉前缀。

JavaScript 示例

const binaryStr = '10011011001';
const hexStr = parseInt(binaryStr, 2).toString(16);  // 输出 '4d9'
// 如需大写结果
const hexStrUpper = parseInt(binaryStr, 2).toString(16).toUpperCase();  // 输出 '4D9'

解释:parseInt(binaryStr, 2)解析二进制为十进制数,toString(16)将数值转为十六进制字符串。

方案对比

  • 手动计算适合理解转换原理,但长字符串易出错;
  • 内置函数处理大字符串时性能远高于手动分组,代码可读性和维护性也更好,是生产环境的首选。

内容的提问来源于stack exchange,提问作者Issam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 11:26:12