news 2026/8/30 3:38:16

专升本计算机基础:二、八、十六进制互转方法详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
专升本计算机基础:二、八、十六进制互转方法详解

专升本计算机基础里,二、八、十六进制互转是第一章的高频考点,也是很多同学从“看得懂”到“做得对”之间最容易卡住的地方。有的同学记了分组法,却不知道小数部分为什么要反向补零;有的同学背下了字母表,却不知道怎么拆位;还有同学只会套公式,题目一变就乱。这篇内容专门讲二、八、十六进制互转,把这几种转换方式和背后的原理一次说清楚。它适合正在准备山东、四川、江西、河北、辽宁、甘肃、内蒙古、重庆、天津等地专升本计算机基础的同学,也适合计算机一级、二级或大一期末复习。你不需要提前掌握很多知识,只要能看懂 0 和 1,就能跟着下面的步骤走。最值得先记住的一个结论是:八进制和十六进制分别是二进制的“三位一组”和“四位一组”的缩写形式,所以它们之间的互转可以非常快,而十进制更适合作为兜底验证。

1. 先搞懂为什么专升本要考进制转换

1.1 进制转换在考试中怎么出现

在专升本计算机基础试卷里,进制转换通常出现在选择题、填空题,偶尔会在简答题里让你写出转换过程。如果学校用的是《计算机文化基础》这类大纲,第一章“计算机基础知识”一定会涉及数制与编码。出题方式大概有这几种:

  • 给一个二进制数,让你选对应的十六进制;
  • 给一个八进制数,让你转成二进制;
  • 给一个十进制整数,让你填转成十六进制后的结果;
  • 有时候会把进制转换揉进 ASCII码、汉字编码、IP 地址、原码反码补码相关题目里。

所以进制转换不只是一章孤立的内容。你后面学到数据表示、存储器容量计算、网络地址时,还会频繁看到二进制和十六进制。如果这里没有练熟,后面会反复吃亏。我一般会提醒学生:不要把进制转换当成“背公式”的送分题,而要真正理解每一位数字代表什么,否则题目一变形就容易错。

1.2 二、八、十六进制的关系:为什么它们能直接互转

二进制的基数是 2,八进制的基数是 8,十六进制的基数是 16。这三个数之间有很直接的关系:2 的 3 次方等于 8,2 的 4 次方等于 16。也就是说,二进制里每三位,正好可以对应一位八进制;每四位,正好可以对应一位十六进制。这就是“三位一组”“四位一组”做转换的根本原因。

很多人会觉得八进制和十六进制是独立的新进制,其实不是。在计算机里,二进制太长了,写起来容易看错,所以会用八进制或十六进制做“缩写”。比如二进制 1101011 写起来七位,阅读容易出错;转成八进制是 153,转成十六进制是 6B,明显短很多。这也是为什么汇编语言、内存地址、文件权限里经常出现十六进制和八进制。

这里有一个边界需要说清楚:只有二进制、八进制、十六进制之间可以这样直接分组转换,因为它们的基数都恰好是 2 的整数次幂。二进制和十进制之间不能“三位一组”或“四位一组”直接转,必须用位权展开或除乘取余。理解了这一点,你就知道什么时候用分组法,什么时候用位权法。

那八进制和十六进制之间能不能直接分组转换?答案是不能,因为 8 和 16 之间是 2 的 3 次方和 2 的 4 次方的关系,没有直接的整数分组对应。但可以通过二进制作为中间桥梁:先把八进制每位拆成三位二进制,再重新按四位一组合成十六进制。这样比先转十进制更快,后面第 4 节和第 5 节会展开。

2. 二进制转八进制和十六进制:分组法最省事

2.1 二进制转八进制:三位一组

先看怎么把二进制转成八进制。步骤并不复杂:

  1. 先找到小数点。如果题目给的二进制没有小数点,就默认小数点在最右边。
  2. 整数部分:从小数点开始向左,每三位一组,从右往左分。
  3. 小数部分:从小数点开始向右,每三位一组,从左往右分。
  4. 如果最左边一组不够三位,就在前面补 0;如果最右边一组不够三位,就在后面补 0。
  5. 把每组三位二进制转成一位八进制数字。

举个例子:二进制 1101011.01 转八进制。

整数部分 1101011,从右往左三位一组:先是 011,再是 101,最后剩一个 1,补 0 成 001,所以分组为 001 101 011。分别对应 1、5、3。小数部分 .01,从左往右三位一组,只有两位,补 0 成 010,对应 2。最终结果是 153.2。

展开写就是:

1101011.01(2) = 001 101 011 . 010(2) = 153.2(8)

注意整数部分在最左边补 0 不影响大小,小数部分在最右边补 0 也不影响大小。很多人会问,小数部分为什么一定要向右补 0?因为小数部分的权重从 2 的 -1 次方开始,右边补 0 相当于增加更低位的 0,原数不变;如果向左补 0,就会把原来的数字位置改变,数值就错了。

2.2 二进制转十六进制:四位一组

二进制转十六进制,步骤几乎一样,只是把“三位一组”改成“四位一组”。从小数点向左、向右分别按四位分组,不足四位的时候,整数部分在左边补 0,小数部分在右边补 0。每一组四位二进制对应一位十六进制数字。

继续用 1101011.01 举例。

整数部分 1101011,从右往左四位一组:先是 1011,剩下 110,补 0 成 0110,所以分组为 0110 1011,分别对应 6 和 B。小数部分 .01,从左往右四位一组,只有两位,补 0 成 0100,对应 4。最终结果是 6B.4。

1101011.01(2) = 0110 1011 . 0100(2) = 6B.4(16)

这里要注意,十六进制里 10 到 15 要用 A 到 F 表示。10 对应 A,11 对应 B,12 对应 C,13 对应 D,14 对应 E,15 对应 F。很多同学把 11 直接写成 11,这在十六进制里不是合法的单个数字。

2.3 带小数点的二进制怎么分组

再强调一次分组方向:

  • 整数部分,从右往左分;
  • 小数部分,从左往右分;
  • 分组不足时,整数部分补左边,小数部分补右边。

用二进制 101.101 来跑一遍。

转八进制:整数部分 101 正好三位,对应 5;小数部分 101 正好三位,对应 5,结果是 5.5。

转十六进制:整数部分 101 不足四位,补 0 成 0101,对应 5;小数部分 101 不足四位,补 0 成 1010,对应 A,结果是 5.A。

如果不小心把方向搞反,结果会完全不对。比如小数部分 101 向右补 0 得 1010,代表 0.1010,等于十进制 0.625;如果向左补 0 得 0101,代表 0.0101,等于十进制 0.3125。两者差了一倍。所以补 0 方向必须按规则来。

3. 八进制、十六进制转二进制:拆位法

3.1 每一位八进制拆成三位二进制

八进制转二进制是分组法的逆过程。把每一位八进制数字都写成对应的三位二进制,不足三位的,在左边补 0 补成三位,然后把所有二进制位连起来,最后去掉整数部分最左边多余的 0。

八进制数字和三位二进制的对应关系:

0 -> 000 1 -> 001 2 -> 010 3 -> 011 4 -> 100 5 -> 101 6 -> 110 7 -> 111

举例:八进制 153.2 转二进制。

1 对应 001,5 对应 101,3 对应 011,小数部分 2 对应 010,连起来就是 001 101 011 . 010。去掉整数部分最前面的两个 0,得到 1101011.01。这个过程正好是前面二进制转八进制的反向操作,可以用来互相验证。

这里最容易犯的错误是:把八进制 1 直接写成 1,5 直接写成 101,3 直接写成 11,然后拼成 110111。这样写会丢掉位与位之间的对应关系,结果也会差很多。尤其是当八进制某一位是 0 时,更要写成 000,不能省略。比如八进制 307,3 对应 011,0 对应 000,7 对应 111,连起来是 011000111,去掉前导 0 得到 11000111。中间的 0 必须保留,否则数值完全不对。

3.2 每一位十六进制拆成四位二进制

十六进制转二进制,方法是每一位十六进制数字拆成四位二进制。同样,不足四位补 0。十六进制和四位二进制的对应关系建议背熟:

0 -> 0000 1 -> 0001 2 -> 0010 3 -> 0011 4 -> 0100 5 -> 0101 6 -> 0110 7 -> 0111 8 -> 1000 9 -> 1001 A -> 1010 B -> 1011 C -> 1100 D -> 1101 E -> 1110 F -> 1111

举例:十六进制 6B.4 转二进制。

6 对应 0110,B 对应 1011,4 对应 0100,连起来是 0110 1011 . 0100。去掉整数部分最前面的一个 0,得到 1101011.01。

这个结果和前面从二进制转成十六进制时完全一致,说明步骤是对的。平时练习时,可以用这种方法做回代检查。

3.3 常见错误:拆位后丢掉中间的零

在作业里经常看到这样的写法:十六进制 0x10 转二进制,有人写成 1 0000,还有人写成 1000。正确结果应该是 0001 0000,去掉前导 0 后是 10000。关键问题出在中间某一位为 0 时,容易丢。

比如十六进制 0xA0,A 对应 1010,0 对应 0000,拼接后是 10100000。很多同学会写成 1010 0 或 1010000,少了一位。正确做法是:A 和 0 各占四位,所以结果一定是 8 位二进制,再去掉最前面的 1 后面的 0 ?不对,这里的第一个字符是 1,所以前导 0 不存在?注意 10100000 第一位是 1,不能去掉,结果是 10100000。如果最高位是 0,比如 0x0F,结果是 00001111,去掉前导 0 得 1111。

判断标准可以这样记:一个八进制位拆成 3 位二进制,一位十六进制位拆成 4 位二进制。转换结果大概会有“位数乘 3 或乘 4”那么长,如果明显少了,一定是丢了某个 0。

4. 二、八、十六进制和十进制互转:位权展开才是根

4.1 其他进制转十进制:按位权展开

位权,就是当前位的权重。对于二进制,整数部分从右往左的权重分别是 2^0、2^1、2^2……;小数部分从左往右分别是 2^-1、2^-2……。转换时,用每一位数字乘以该位的权重,再相加。

例如二进制 1101.1:

1×2^3 + 1×2^2 + 0×2^1 + 1×2^0 + 1×2^-1 = 8 + 4 + 0 + 1 + 0.5 = 13.5

八进制转十进制也是一样,只是底数换成 8。比如八进制 153.2:

1×8^2 + 5×8^1 + 3×8^0 + 2×8^-1 = 64 + 40 + 3 + 0.25 = 107.25

十六进制转十进制,底数换成 16。比如十六进制 6B.4:

6×16^1 + 11×16^0 + 4×16^-1 = 96 + 11 + 0.25 = 107.25

你会发现,前面例子里的二进制 1101011.01、八进制 153.2、十六进制 6B.4,其实是同一个数,都等于十进制 107.25。这就是进制转换的意义:同一个数值,可以用不同进制表示。

4.2 十进制转二进制:整数除2取余、小数乘2取整

十进制转二进制,要分成整数部分和小数部分来处理。

整数部分用“除 2 取余法”:把整数不断除以 2,记下余数,直到商为 0。余数从下往上倒序排列。

例如十进制 13:

13 ÷ 2 = 6 余 1 6 ÷ 2 = 3 余 0 3 ÷ 2 = 1 余 1 1 ÷ 2 = 0 余 1

余数从下往上读是 1101,所以 13(10) = 1101(2)。

小数部分用“乘 2 取整法”:把小数不断乘以 2,取乘积的整数部分,再用剩下的小数部分继续乘,直到小数部分为 0 或达到要求的精度。整数部分从上往下正序写。

例如十进制 0.25:

0.25 × 2 = 0.5,取整数 0,剩 0.5 0.5 × 2 = 1.0,取整数 1,剩 0

从上往下读是 01,所以 0.25(10) = 0.01(2)。合并起来,13.25(10) = 1101.01(2)。

这里最容易记反的就是方向:整数部分除 2 取余要倒序,小数部分乘 2 取整要正序。两个方向一旦反了,结果就完全不对。

4.3 十进制转八进制和十六进制:同样思路

十进制转八进制,整数部分用“除 8 取余法”,小数部分用“乘 8 取整法”;十进制转十六进制,整数部分用“除 16 取余法”,小数部分用“乘 16 取整法”。

举例:十进制 153 转八进制。

153 ÷ 8 = 19 余 1 19 ÷ 8 = 2 余 3 2 ÷ 8 = 0 余 2

余数从下往上读是 231,所以 153(10) = 231(8)。

十进制 153 转十六进制:

153 ÷ 16 = 9 余 9 9 ÷ 16 = 0 余 9

余数从下往上读是 99,所以 153(10) = 99(16)。

如果余数超过 9,要写成 A-F。例如十进制 171 转十六进制:

171 ÷ 16 = 10 余 11 10 ÷ 16 = 0 余 10

余数从下往上读是 10、11,分别写成 A、B,所以 171(10) = AB(16)。一定先把十进制余数 10 和 11 转成字母 A 和 B,再排顺序。

小数部分的乘 8、乘 16 平时考得少,原理和乘 2 一样。如果不会,可以先把十进制小数转成二进制,再用分组法转成八进制或十六进制,会更好理解。

4.4 用十进制做中间桥梁的实用组合

在考场上,如果题目让你做八进制和十六进制互转,你一下子想不起通过二进制中转的方法,最稳妥的办法是先用十进制做中间桥梁。

步骤是:

  1. 把原进制按位权展开转成十进制;
  2. 再把十进制用除乘取余法转成目标进制。

比如八进制 153 转十六进制。

先按位权展开:153(8) = 1×64 + 5×8 + 3 = 107(10)。

再把 107 转十六进制:

107 ÷ 16 = 6 余 11 6 ÷ 16 = 0 余 6

余数从下往上读是 6、11,11 写成 B,所以 153(8) = 6B(16)。

这个办法比直接二进制中转慢一点,但每一步都有固定流程,不容易错。我会建议考生平时练习两种方式:直接转换用于提升速度,十进制兜底用于考场检查。如果你发现自己用直接法经常漏 0,那就每道题最后用十进制法验算一遍,错误率会明显下降。

5. 巧用8421码快速转换

5.1 8421码的本质

四位二进制从高位到低位的权值分别是 8、4、2、1,这就是常说的 8421 权值。当你看到一个四位二进制数,比如 1010,可以快速判断它包含一个 8 和一个 2,加起来是 10,对应十六进制 A。再看 1011,是 8+2+1=11,对应十六进制 B。

为什么有用?因为十六进制每一位对应四位二进制,而四位二进制的权值恰好是 8421。你要做的就是把四位二进制拆成“8、4、2、1”这几个权值的组合,很快能算出对应的十六进制。八进制则是三位二进制,权值是 4、2、1。

注意,这里说的 8421 权值法,不是教材里的 8421 BCD 码。BCD 码通常也用四位二进制表示十进制数字 0-9,写法碰巧很像,但含义不同。考试里如果出现“8421码”这个词,一定要结合上下文判断。

5.2 二进制和十六进制快速互转

有了 8421 权值,二进制和十六进制互转会非常快。

比如二进制 1001,权值 8+1=9,对应十六进制 9。 二进制 1110,权值 8+4+2=14,对应十六进制 E。 二进制 0011,权值 2+1=3,对应十六进制 3。

反过来,十六进制转二进制,可以把十六进制数字拆成 8421 的组合。比如 D = 13 = 8+4+1,所以 D 的二进制是 1101。7 = 4+2+1,二进制是 0111。注意 7 拆完是 0111,如果只写 111,后面拼接时会少一位。建议写的时候固定补足四位:0-7 分别对应 0000-0111,8-15 对应 1000-1111。

下面这张表最好背熟,它是二进制、八进制、十六进制互转的基础:

十进制十六进制四位二进制八进制
0000000
1100011
2200102
3300113
4401004
5501015
6601106
7701117
88100010
99100111
10A101012
11B101113
12C110014
13D110115
14E111016
15F111117

注意表格中“八进制”这一列,是按二进制“三位一组”得到的结果,所以十进制 8 对应八进制 10,9 对应 11。这正好体现了三位一组的规律。

5.3 二进制和八进制快速互转

八进制对应三位二进制,权值是 4、2、1。所以二进制 101,就是 4+1=5;二进制 111,就是 4+2+1=7。反过来,八进制 5 写成二进制 101,因为 5 = 4+1。

平时看到二进制 1101011.01,用 8421 权值按四位一组转十六进制是 6B.4,按三位一组转八进制是 153.2。这个过程熟练之后,速度会很快。

我会建议学生把这张对照表抄一份贴在电脑前,但不要长期依赖。最好练到看到十六进制数字,能直接说出四位二进制;看到三位二进制,能直接说出八进制数字。这样考试时不用现场笔算,能省下很多时间。

6. 专升本实战:典型题型、易错点和检查方法

6.1 常见题型和解题步骤

专升本计算机基础里的进制转换题,常见有这几种:

  • 单选:给出二进制 1101011,问对应的八进制和十六进制;
  • 填空:十六进制 6B 转换成二进制,结果是;
  • 判断:八进制 153 和二进制 1101011 是否相等;
  • 简答:将十进制 107.25 转换为二进制、八进制、十六进制,写出过程。

不管题目怎么出,按下面的顺序走最稳:

  1. 先看题目给的数是几进制,要求转成几进制。
  2. 如果是在二进制、八进制、十六进制之间转换,优先用分组法或拆位法。
  3. 如果涉及十进制,先用位权展开或除乘取余法。
  4. 写出最终结果,确保小数点和字母书写清楚。
  5. 回代验证:把结果按相反方向转回原进制,看是否一致。

举例:把十六进制 6B.4 转成十进制。

6B.4(16) = 6×16 + 11×1 + 4×1/16 = 96 + 11 + 0.25 = 107.25

再做回代:107.25 转二进制、八进制、十六进制,如果最后得到 1101011.01、153.2、6B.4,说明前面步骤全部正确。这个方法比较稳,考试来不及完整写过程时,也可以用最后一步快速检查。

6.2 容易丢分的四个地方

结合平时看到的作业,最常丢分的点有四个。

第一,分组方向错。整数部分从右往左分,小数部分从左往右分。有人把小数部分也按从右往左分,结果整个数就不对了。

第二,拆位时丢 0。八进制拆三位,十六进制拆四位,每一位都要拆成固定位数。中间某一位是 0 时尤其容易丢。比如十六进制 0x10 拆成二进制,正确写法是 0001 0000,去掉前导 0 后是 10000;如果中间少写一个 0,变成 1000,数值就错了。

第三,除 2 取余忘记倒序。整数部分转换时,余数要从下往上读;小数部分乘 2 取整,要从上往下读。顺序反了,答案就完全不同。

第四,十六进制字母处理不当。10 不是十六进制里的数字,要写成 A;11 写成 B;12 写成 C;13 写成 D;14 写成 E;15 写成 F。反过来,看到字母 A 要想到 10,看到 F 要想到 15。

另外还有一个容易被忽略的问题:题目如果要求写出转换过程,那就一定要把过程写出来,不要只给结果。阅卷时按步骤给分,过程比答案更重要。

6.3 验证结果是否正确的方法

推荐两种验证方法:回代法和十进制法。

回代法:你把二进制 1101011.01 转成了十六进制 6B.4,那就倒过来把 6B.4 按拆位法拆回二进制,看是不是 1101011.01。如果一致,基本没问题。这个过程很快,30 秒内能完成。

十进制法:把原数和结果都转成十进制,比较是否相等。例如原数是二进制 1101011.01,转成十进制是 107.25;结果十六进制 6B.4 转成十进制也是 107.25。这样能发现小数点位置和字母写错的问题。

平时练习时,可以用电脑自带计算器的“程序员”模式辅助验证,但考试时一定不能依赖计算器。我建议做题后立刻用手工回代,而不是直接翻答案,这样才能找到自己到底哪一步容易出错。

6.4 平时复习建议

准备专升本,不是做几道题就能稳定拿分的。建议按三个阶段练。

第一阶段,背表。把 0 到 15 的十进制和二进制、八进制、十六进制对应关系背熟。尤其要记住 A-F 对应 10-15。这是所有快速转换的基础。

第二阶段,练步骤。每天固定做 10 道换算题,全部手写过程。不要心算到最后直接写答案,步骤容易暴露问题。每次写完后用回代法检查。

第三阶段,练速度。连续做 20 道选择题,每道控制在 1 分钟内。考试时进制转换题通常不给太多时间,熟练度比“会做”更重要。

如果能把进制转换和后面的数据表示、字符编码、IP 地址等内容联系起来,会更容易理解为什么需要十六进制。比如 ASCII 码经常写成两个十六进制位,内存地址也常用十六进制表示。这些地方都会反复用到二、八、十六进制互转,提前练熟不吃亏。

最后想分享一个经验:很多同学在进制转换上丢分,不是因为不会,而是因为几个小细节反复出错,补 0 方向、分组方向、余数顺序、字母写错。我一般建议准备一个“错题小本”,每次做错就只记一句话,考前翻一遍比自己盲刷十套题更有效。你不需要把所有方法都背下来,先把分组法和拆位法练熟,再用十进制当兜底验证,专升本计算机基础里的进制转换题基本就稳了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 3:37:53

Cube生态实践:从架构到部署,语义层统一指标的踩坑与取舍

干了好几年数据平台,各种 BI 工具和数据中间层换了一轮又一轮,最近又被团队拉去评估 Cube 生态,也就是以 Cube 为核心的这套指标语义层方案。刚开始我心里是拒绝的,毕竟这类工具看着都挺美,落地总是一地鸡毛。但这次我…

作者头像 李华
网站建设 2026/8/30 3:36:03

Vibe Coding 上下文管理:Context 来源、超限排查与工程化实践

实际用 Vibe Coding 写代码时,很多人把注意力放在“提示词写得准不准”上,却忽略了一个更底层的变量:Context 上下文管理。Vibe Coding 的核心工作方式,是把需求、代码片段、报错信息、修改意图全部放进和 AI 的对话里&#xff0c…

作者头像 李华
网站建设 2026/8/30 3:34:18

从词向量到Transformer再到AI大模型:原理与PyTorch实战

词向量、Transformer、AI 大模型,这三个名词在深度学习面试和实际项目中出现得越来越频繁。很多人对每个名称都有印象,但问到底层逻辑时往往会发现知识是断的:为什么语言要先变成向量?为什么 RNN 最后会被 Transformer 取代&#…

作者头像 李华
网站建设 2026/8/30 3:30:01

Cloudflare Kitesurf:AI Agent浏览器的工作原理与实战指南

最近一年里,AI Agent 的讨论热度一直居高不下。从“能聊天的模型”到“能动手干活的智能体”,行业对浏览器的期待正在悄悄发生变化。过去我们打开浏览器是为了阅读新闻、刷视频、写文档,现在越来越多的开发者希望让 Agent 帮我们自动填表、比…

作者头像 李华
网站建设 2026/8/30 3:29:56

游戏公会招募解析:50级门槛与“等级接近我带你”的真实含义

先把这个标题翻译成游戏玩家都懂的话:这是一条叫 Salt 的公会招募信息,核心条件是等级达到 50 级就能申请,不需要你装备多好、副本经验多丰富、在线时长多稳定;如果你的等级和公会主力成员比较接近,招募人还愿意亲手带…

作者头像 李华
网站建设 2026/8/30 3:29:54

Python实现人生模拟器:属性建模与事件驱动机制详解

周末整理代码仓库时,发现之前拿 Python 折腾过一个小项目:人生模拟器。当时想法很简单——网上很多“人生重开模拟器”要么是网页小游戏,要么逻辑写得太复杂,不太适合拿来学编程。于是决定自己手搓一个纯 Python 控制台版本&#…

作者头像 李华