
进制转换
计算机只认识 0 和 1,所以我们用二进制;
人类习惯 0~9,所以用十进制;
为了书写方便,又引入十六进制(0-9 + A-F)。
现在,我们要学会在这三种之间自由切换。
一、十进制转二进制
先花 5 秒选路线,再动手:
| 场景 | 推荐算法 |
|---|---|
| 数字 ≤ 255 且需要口算 | 减权法(最快) |
| 数字很大 / 要写程序 | 除 2 取余法(最稳) |
✅ 主干:减权法(口算 0–255 专用)
口诀:
从高权到低权,能减写 1 减,不能写 0 跳。
减权法
口诀:“从高权到低权,能减写1减,不能写0跳。”
在进制表示中,每一位都有一个固定的“权重”,称为权值。
例如,在二进制中,从右往左第 0 位权值是 ,第 1 位是 ,第 2 位是 ,依此类推。
所以 8 位二进制的权值从左到右是:128, 64, 32, 16, 8, 4, 2, 1。
具体 3 步:
- 列权:
128 64 32 16 8 4 2 1(固定顺序) - 逐位判:
- 当前余数 ≥ 权值 → 该位写 1,余数减去与之相比的数
- 当前余数 < 权值 → 该位写 0,余数不变
- 按顺序写下 0/1,就是二进制 如100来进行运算:
100 < 128(权值) 所以该位为0,并且不进行减去操作100 > 64(权值) 所以该位为1,并且减去6436(余数) > 32 所以该位为1,并且减去32后面省略,所以100二进制位为01100100实际操作 以 192 为例:
权值序列:128 64 32 16 8 4 2 1——————————————————————————————192 ≥ 128 → 第8位写 1,余 192−128 = 6464 ≥ 64 → 第7位写 1,余 64−64 = 00 < 32 → 第6位写 0,余 00 < 16 → 第5位写 0,余 00 < 8 → 第4位写 0,余 00 < 4 → 第3位写 0,余 00 < 2 → 第2位写 0,余 00 < 1 → 第1位写 0,余 0结果:`11000000`方法二:除 2 取余,倒序读
你不断用数字除以 2,记录每次的余数,直到商为 0。最后把余数从下往上读,就是二进制。
举个栗子(n = 13):
所以:
所以十进制 13 等于二进制 1101(写作 )。
二、二进制转十进制
按位乘权值再相加。
二进制从右往左,权值依次是:
举个栗子:1101
| 位(从右) | 3 | 2 | 1 | 0 |
|---|---|---|---|---|
| 二进制位 | 1 | 1 | 0 | 1 |
| 权值 | 8 | 4 | 2 | 1 |
| 计算 | 1×8 | 1×4 | 0×2 | 1×1 |
然后再
那么1101转成十进制就是13啦
三、十进制 ↔ 十六进制
你可以:
- 先转二进制,再转十六进制(推荐初学者)
- 或直接用除 16 取余法
| 十进制 | 十六进制 |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 10 | A |
| 11 | B |
| 12 | C |
| 13 | D |
| 14 | E |
| 15 | F |
举个栗子:200 转十六进制
| 步骤 | 计算过程 | 商 | 余数 | 十六进制对应位 |
|---|---|---|---|---|
| 1 | 200 ÷ 16 | 12 | 8 | 8 |
| 2 | 12 ÷ 16 | 0 | 12 | C(因为 12 → C) |
方法一:除16取余法(推荐用于整数) 步骤:
将十进制数不断除以 16,记录每次的余数。
余数若为 10~15,则分别用 A~F 表示。
将所有余数倒序排列,即为对应的十六进制数。
例子:将 200 转换为十六进制
200 ÷ 16 = 12 余 8
12 ÷ 16 = 0 余 12 → C
→ 余数倒序:C 8 → 十六进制为 C8
方法二:利用二进制作为中介(适合熟悉二进制的人)
步骤:
先将十进制数转为二进制。 从右往左,每 4 位二进制一组(不足补 0)。 每组转为对应的十六进制数字(0000=0, …, 1111=F)。 例子:200 → 二进制是 11001000
补齐为 4 位一组:1100 1000 对应十六进制:C 8 → C8
反过来,C8 转十进制:
C = 12,8 = 8
→
十六进制转十进制
例如2FB1
先将2FB1每个值转换成十进制
2=2F=15B=111=1即
总结
附上二进制,十进制,十六进制对照表
| 二进制 | 十进制 | 十六进制 |
|---|---|---|
| 0000 | 0 | 0 |
| 0001 | 1 | 1 |
| 0010 | 2 | 2 |
| 0011 | 3 | 3 |
| 0100 | 4 | 4 |
| 0101 | 5 | 5 |
| 0110 | 6 | 6 |
| 0111 | 7 | 7 |
| 1000 | 8 | 8 |
| 1001 | 9 | 9 |
| 1010 | 10 | A |
| 1011 | 11 | B |
| 1100 | 12 | C |
| 1101 | 13 | D |
| 1110 | 14 | E |
| 1111 | 15 | F |
分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 296 天
部分内容可能已过时