进制转换怎么算?二进制与十六进制互转讲透

进制转换怎么算?二进制与十六进制互转讲透
进制转换的手算法是「除目标进制取余、倒序拼接」,而实际场景根本不必手算:选好来源与目标进制、输入数值,五种进制的结果同时列出,核对抄录即可。

进制转换的手算法是「除目标进制取余、倒序拼接」,而实际场景根本不必手算:选好来源与目标进制、输入数值,五种进制的结果同时列出,核对抄录即可。

四种进制各自出现在哪里

二进制是机器的母语,0 与 1 对应电路的通断;八进制偶尔出现在 Unix 文件权限里;十进制是人类日常;十六进制是程序员的速记法——一位恰压四位二进制,两个字符表示一个字节,读颜色码、内存地址都靠它。A 到 F 依次代表 10 到 15,大小写均可。转换只是给同一个数值换一套书写系统,数值本身分毫不动。

手算原理三十秒版

十进制转二进制:反复除以二、记下每步余数,倒着读就是答案,例如 13 依次余 1、0、1,读出 1101;反向则按权展开,1101 即 1×8+1×4+0×2+1×1。其他进制同理,把除以二换成对应底数。手算理解一次就够,日常核对交给 进制转换工具:输入一次数值,五行进制结果并列展示。

操作流程与容易被忽略的细节

两个下拉框分别选来源与目标进制,候选为二、八、十、十六、三十六进制,中间按钮一键对调方向。两点注意:直接把数字键入即可,十六进制不必带 0x 前缀,前缀字符会被判为非法;输入不符的字符时工具会点名报错——二进制里混进 2 或 9,多半是把十进制数贴错了地方。三十六进制用数字加字母共 36 个符号,同长度下压缩率最高,做短编号时偶有用场。

边界:负数、小数与大数

带负号的整数可以直接转换;小数暂不支持,浮点跨进制涉及精度取舍,需要时把整数与小数部分分开处理。数值超出浏览器双精度安全范围(约十进制十五六个有效数字)后末位可能失真,哈希值、超长编号请改用大数方案。

使用技巧

  • 记不住 2 的幂次表时反向使用:来源选二进制、输入一串 0 和 1,十进制结果直接给出,比心算可靠。
  • 核对颜色值时把 #RRGGBB 按字节拆成三段逐段转,各分量十进制一目了然。
  • 教学或自查时先手算一遍再对照页面的五行结果,两边一致才进下一题。

常见问题

十六进制前面的 0x 要不要一起输入?

不用。进制已经由下拉框声明,只键入数字与字母本身即可,把前缀一起贴进去反而会触发非法字符提示。

为什么小数转不了?

小数跨进制涉及精度取舍,规则比整数复杂,本页只保证整数换算;可把整数与小数两部分拆开分别处理。

转换结果末尾几位变了是怎么回事?

输入超出双精度可精确表示的范围,末位发生了舍入;把数值控制在约十五个有效数字内,或改用大数工具。

小结

进制只是同一数值的多种笔迹,理解了按权展开这一步,剩下的抄五行并列结果就行。

← JSON 格式化怎么做才不出错?粘贴、美化、校验三步 UUID 和 NanoID 怎么批量生成?短 ID 与标准 ID 一次选对 →