去年我自己栽过一次「十六进制」的坑。当时以为查查资料就能搞定,结果越查越懵,最后还是找了个懂行的朋友才理顺。
大家最关心的几点
进制转换核心:十进制转N进制用"除N取余逆序法",N进制转十进制用"按权展开求和"。二进制转十六进制每4位一组,二进制转八进制每3位一组。十进制25=二进制11001=八进制31=十六进制19。市制单位各地可能有差异,跨地区对比要先确认当地标准。换完用常识验一下数量级,差太多就是算反了。
再往深走一步
二进制是计算机基础(0和1),十六进制是二进制的简写(4位二进制=1位十六进制),编程常用0x前缀。八进制用0前缀(易和十进制混淆,Python3已改0o)。记住A=10、F=15即可应付十六进制。单位换算用在线工具最省事,手动算容易在进率上栽跟头。科学计数法处理很大或很小的数最不容易出错。
操作时要注意
先记进率。十六进制这类换算,关键是记住两个单位之间的进率(倍数关系),然后乘或除就行。进率记错了,结果差几个数量级,这是最常见的错误。换算的本质就是乘或除进率,没有别的花活。记核心进率即可,不用全背,剩下的靠中间单位推导。
几个要注意的地方
有几个坑我得提前打个预防针:
- 十六进制A=10、B=11、C=12、D=13、E=14、F=15
- 编程中十六进制常用0x前缀,八进制用0o(Python3)或0
- 颜色值#FFFFFF就是十六进制,每两位代表RGB一个通道
- 十进制小数转N进制用"乘N取整法",但可能无限循环
这一篇写到这儿收尾。如果有错漏,麻烦指出来,我更新上来让更多人受益。
不熟的单位找个中间单位过渡,比死记所有两两关系靠谱。不同领域的单位习惯不同(比如宝石用克拉、贵金属用金衡盎司),别套错。换完用常识验一下数量级,差太多就是算反了。科学计数法处理很大或很小的数最不容易出错。米、克、秒是国际单位制的根基,遇到不熟的单位先往这三个上靠。市制单位各地可能有差异,跨地区对比要先确认当地标准。换算的本质就是乘或除进率,没有别的花活。同名不同制的单位最坑,看到名字一样先确认是不是同一套标准。记核心进率即可,不用全背,剩下的靠中间单位推导。单位换算用在线工具最省事,手动算容易在进率上栽跟头。
常见问题
【十进制怎么转二进制?】除2取余逆序法:25÷2=12余1、12÷2=6余0、6÷2=3余0、3÷2=1余1、1÷2=0余1,逆序读11001。二进制转十进制按权展开:11001=16+8+1=25。
【十六进制怎么换算?】关键是记住进率(两单位的倍数关系),然后乘进率或除进率。不熟的单位找个中间单位过渡,换完用常识验数量级。用在线换算工具最省事。
【二进制和十六进制怎么换算?】每4位二进制=1位十六进制。二进制11001分组0011 0010(补齐)→3 2→0x19(其实25=0x19,分组11001→0001 1001→1 9→0x19)。记住0-15对应0000-1111即可。
【十六进制A到F代表多少?】A=10、B=11、C=12、D=13、E=14、F=15。十六进制0xFF=15×16+15=255,0x10=16。编程常用0x前缀,颜色值#FFFFFF就是十六进制。