GESP C++ 3 级 · 知识点

进制转换

GESP C++ 三级要求熟练掌握二进制、八进制、十进制、十六进制之间的相互转换,理解位权与按权展开的方法。进制题步骤固定,但方向、顺序和补零位置是最常见的失分点。

对应知识域:进制转换(二进制、八进制、十进制、十六进制)相关真题 4 套

本页为本站原创整理,例题与解析均由本站编写,不取自任何题库原题;考试范围以 CCF 官方公布为准,本平台不是 GESP 官方平台。

考纲要求

  • 理解每种进制的基数和位权,例如二进制第 k 位的位权是 2 的 k 次方,k 从 0 开始。
  • 掌握任意进制转十进制的方法:各位数字乘以对应位权后求和。
  • 掌握十进制转任意进制的方法:除基数取余,把余数倒序排列。
  • 记住二、八、十六进制之间的快速对应:每 3 位二进制对应 1 位八进制,每 4 位对应 1 位十六进制。

典型题型

  • 给出二进制或十六进制数,要求转成十进制。
  • 给出十进制数,要求转成二进制或十六进制。
  • 在二进制、八进制、十六进制之间直接转换。

常见错误

  • 把位权从 1 开始算,导致整体结果差一倍。最右边一位是 2 的 0 次方,值为 1。
  • 十进制转二进制时把余数按正序写出,忘了倒序。
  • 十六进制中出现大于 9 的位时把它当十进制数字计算,忘记 A 到 F 分别代表 10 到 15。
  • 二进制转八进制时分组方向正确,但左侧不足 3 位时补零补到了右边。

深入理解

两个方向,两套固定动作

十进制转其他进制:除基取余,逆序排列。以 45 转二进制为例:45 ÷ 2 余 1、22 余 0、11 余 1、5 余 1、2 余 0、1 余 1,从下往上读得 101101。每一步的除数都是目标进制,余数从后往前排,顺序写反是最高频的错误。

其他进制转十进制:按权展开求和。二进制 101101 从右往左的位权是 1、2、4、8、16、32,把位上是 1 的权加起来:32 + 8 + 4 + 1 = 45。十六进制同理,位权是 16 的幂,权值要乘以该位上的数字(A 到 F 分别是 10 到 15)。

二进制和八、十六进制是「分组」关系

因为 8 = 2³、16 = 2⁴,二进制转八进制只要从右往左每 3 位一组,转十六进制每 4 位一组,组内直接查表。最高位不足一组时在左边补零,而不是右边——补错边是另一个高频错误。

例如 101101 转八进制:分成 101 和 101,即 5 和 5,结果是 55;转十六进制:分成 0010 和 1101,即 2 和 D,结果是 2D。反过来由八进制或十六进制转二进制,把每一位展开成 3 位或 4 位即可,前导零可以省略。

C++ 里怎么写不同进制的常量

十进制直接写,例如 45;八进制加前导 0,例如 055 表示十进制的 45;十六进制加 0x,例如 0x2D;C++14 起支持二进制前缀 0b,例如 0b101101。这四种写法在程序里是同一个值,只在字面量层面不同。

输出时默认用十进制。要输出其他进制,可以用 oct、hex、bitset。需要特别小心八进制前导 0:写 int a = 010; 得到的是 8 而不是 10,这是打印调试时最迷惑的现象之一。

自编例题

同一个数的三种写法

把二进制 101101 分别转成十进制和十六进制。

int n = 0b101101;         // C++14 支持二进制字面量
cout << n << endl;         // 45
cout << hex << n << endl;  // 2d

按权展开:1 乘 32 加 0 乘 16 加 1 乘 8 加 1 乘 4 加 0 乘 2 加 1 乘 1 等于 45,所以十进制是 45。把 101101 从右往左每 4 位一组,得到 0010 与 1101,分别对应十六进制的 2 和 D,合起来是 0x2D。反过来,45 除以 16 商 2 余 13,13 写作 D;2 除以 16 商 0 余 2,把余数倒序读出就是 2D。

相关真题

这块内容在整条路线里的位置:GESP C++ 3 级备考路径。

READY TO START

开始练习

先做一套本级别测评,报告会指出哪些知识点需要重点补;再回到本页对照考纲要求逐条核对,把不确定的条目记下来集中练。

常见问题

为什么计算机使用二进制?

二进制只有 0 和 1,容易用电路的通断两种状态表示,抗干扰强,运算规则也最简单。

为什么十六进制很常见?

4 位二进制正好对应 1 位十六进制,书写比二进制短得多,又能直接对应内存中的位模式,便于阅读和调试。

负数的进制转换怎么处理?

先确定采用几位表示,再转换成补码形式,然后按位分组或按权展开。不能直接对绝对值做转换。

本级别其他知识点

官方依据