星火网
首页 灵感 学院 工具 投稿

十进制转二进制怎么算?短除法练习题与答案解析 | PDF下载

适用年级

奥数

难度等级

⭐⭐⭐

资料格式

PDF 可打印

最近更新

2025-12-20

💡 阿星精讲:进制转换:十转二 原理

  • 核心概念:嘿,我是阿星!想象一下,你手里有一个数字大礼包(比如 \(13\)),但计算机只看得懂由 \(0\) 和 \(1\) 组成的“密码”。我们的任务,就是把这份“大礼包”一层层拆开,变成一串酷炫的二进制“代码”。怎么拆?就用“短除法”这把神奇的刀!每次除以 \(2\),就像剥开一层包装纸,记录下余数(\(0\) 或 \(1\))作为密码碎片。一直剥到礼包变成 \(0\) 为止。最后,把这些密码碎片从后往前倒着拼起来,就得到了最终的二进制密码!看我把 \(13\) 变成 \(1101\) 的秘密代码,就是这么酷。
  • 计算秘籍:
    1. 第一步:持续除以2,记录余数。 将十进制数不断除以 \(2\),并记录每次的余数(\(0\) 或 \(1\))。
      计算 \(13 \div 2 = 6 \cdots \mathbf{1}\) (余数 \(1\))
      计算 \(6 \div 2 = 3 \cdots \mathbf{0}\) (余数 \(0\))
      计算 \(3 \div 2 = 1 \cdots \mathbf{1}\) (余数 \(1\))
      计算 \(1 \div 2 = 0 \cdots \mathbf{1}\) (余数 \(1\))
      直到商为 \(0\) 时停止。
    2. 第二步:余数倒序排列。 将记录的余数从最后一次计算开始,自下而上(倒着)读出来。
      得到:\(1\) (最后) \(1\) \(0\) \(1\) (最前)
    3. 第三步:写出结果。 所以,\((13)_{10} = (1101)_{2}\)。
  • 阿星口诀:二除取余,倒序排列,零一密码,轻松解开!

阿星的“拆礼包”流程 (13 → 1101) 13 ÷2,取余1 6 ÷2,取余0 ...→0 余数栈: 1 0 1 1 倒着读 ↑

⚠️ 易错警示:避坑指南

  • ❌ 错误1:正着写余数。计算完 \(13\) 得到余数序列 \(1, 0, 1, 1\) 后,直接写成 \(1011\)。
    → ✅ 正解:必须倒序! 最后一步的余数是最高位。要记住口诀“倒序排列”,正确结果是 \(1101\)。
  • ❌ 错误2:未除到商为0就停止。计算到商为 \(1\) 时 (\(1 \div 2 = 0 \cdots 1\)),觉得 \(1\) 不能再除而停止,漏掉了最后一个余数 \(1\)。
    → ✅ 正解:必须除到商为 \(0\) 才算结束。即使商是 \(1\),也要再做一次 \(1 \div 2\),得到商 \(0\) 和余数 \(1\),这个余数至关重要。

🔥 三例题精讲

例题1:将十进制数 \(22\) 转换为二进制数。

📌 解析:

  1. \(22 \div 2 = 11 \cdots \mathbf{0}\)
  2. \(11 \div 2 = 5 \cdots \mathbf{1}\)
  3. \(5 \div 2 = 2 \cdots \mathbf{1}\)
  4. \(2 \div 2 = 1 \cdots \mathbf{0}\)
  5. \(1 \div 2 = 0 \cdots \mathbf{1}\)

将余数从下往上读:\(10110\)。

✅ 总结:按部就班除到商为 \(0\),余数倒序就是答案。\((22)_{10} = (10110)_2\)。

例题2:将十进制数 \(63\) 转换为二进制数。观察结果有什么特点?

📌 解析:

  1. \(63 \div 2 = 31 \cdots \mathbf{1}\)
  2. \(31 \div 2 = 15 \cdots \mathbf{1}\)
  3. \(15 \div 2 = 7 \cdots \mathbf{1}\)
  4. \(7 \div 2 = 3 \cdots \mathbf{1}\)
  5. \(3 \div 2 = 1 \cdots \mathbf{1}\)
  6. \(1 \div 2 = 0 \cdots \mathbf{1}\)

余数全是 \(1\),倒序后为 \(111111\)。

✅ 总结:\(63 = 2^6 - 1\),这种“2的n次幂减1”的数,其二进制是 \(n\) 个连续的 \(1\)。\((63)_{10} = (111111)_2\)。

例题3:阿星有一个两位数的年龄,用二进制表示是一个六位数 \(1ab01c\),其中 \(a, b, c\) 代表未知的 \(0\) 或 \(1\)。已知 \(c = 1\),请问阿星多少岁?

📌 解析:

  1. 二进制数 \(1ab01c\) 已知 \(c=1\),所以是 \(1ab011\)。
  2. 我们用“短除法”的逆过程——按权展开来反推十进制:
    \((1ab011)_2 = 1 \times 2^5 + a \times 2^4 + b \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0\)
    \(= 32 + 16a + 8b + 0 + 2 + 1\)
    \(= 35 + 16a + 8b\)
  3. 因为阿星年龄是两位数,且 \(a, b\) 为 \(0\) 或 \(1\),我们尝试:
    • 若 \(a=0, b=0\),年龄 \(= 35\)。
    • 若 \(a=0, b=1\),年龄 \(= 43\)。
    • 若 \(a=1, b=0\),年龄 \(= 51\)。
    • 若 \(a=1, b=1\),年龄 \(= 59\)。
  4. 所有结果都是两位数,符合条件。但通常“年龄”指比较小的数,且是例题,最可能的是 \(35\)。我们可以验证:\(35\) 转二进制:
    \(35 \div 2 = 17 \cdots 1\)
    \(17 \div 2 = 8 \cdots 1\)
    \(8 \div 2 = 4 \cdots 0\)
    \(4 \div 2 = 2 \cdots 0\)
    \(2 \div 2 = 1 \cdots 0\)
    \(1 \div 2 = 0 \cdots 1\)
    倒序得 \((100011)_2\),即 \(1\ 0\ 0\ 0\ 1\ 1\),所以 \(a=0, b=0, c=1\) 成立。

✅ 总结:进制转换可以正反双向运用。本题结合了二进制转十进制(按权展开)和十进制转二进制(短除法)进行验证。

🚀 阶梯训练

第一关:基础热身(10道)

  1. 将你的年龄(假设12岁)转换为二进制数。
  2. 将楼层号 \(8\) 转换为二进制数。
  3. 将 \(5\) 转换为二进制数。
  4. 将 \(19\) 转换为二进制数。
  5. 将 \(30\) 转换为二进制数。
  6. 将 \(7\) 转换为二进制数。
  7. 将 \(25\) 转换为二进制数。
  8. 将 \(2\) 转换为二进制数。
  9. 将 \(15\) 转换为二进制数。
  10. 将 \(100\) 转换为二进制数。

第二关:奥数挑战(10道)

  1. 将 \(127\) 转换为二进制数。
  2. 将 \(255\) 转换为二进制数。
  3. 一个数的二进制表示是 \(1001001\),它是十进制多少?
  4. 将十进制数 \(2024\) 转换为二进制数。
  5. 已知 \((9)_{10} = (1001)_2\),不计算,直接写出 \((18)_{10}\) 的二进制形式(提示:\(18=9\times2\))。
  6. 一个二进制数,从右往左数第3位(从1开始)是1,这个位代表的十进制值是多少?
  7. 将 \(64\) 转换为二进制数。
  8. 十进制数 \(n\) 的二进制表示恰好有3个1,且 \(n < 20\),求所有可能的 \(n\)。
  9. 将 \(47\) 转换为二进制数。
  10. 二进制数 \((110110)_2\) 和 \((101101)_2\),哪个对应的十进制数更大?

第三关:生活应用(5道)

  1. (AI与神经网络) 某个简易的神经网络有4层,每层的神经元数量用二进制配置分别为:第1层 \((1000)_2\) 个,第2层 \((100)_2\) 个,第3层 \((10)_2\) 个,第4层 \((1)_2\) 个。请问这四层实际各有多少个神经元?
  2. (航天指令) 地面向探测器发送一条开关指令,用8位二进制代码表示。如果“打开太阳能板”的指令是十进制数 \(21\) 的二进制形式,请写出这个8位指令码(不足8位前面补0)。
  3. (网购优惠) 某商品原价 \((10100)_2\) 元,限时折扣价 \((1111)_2\) 元,请问优惠了多少元?(请用十进制回答)
  4. (计算机存储) 我们知道 \(1KB = 1024\) 字节。请将 \(1024\) 转换为二进制数,并观察其特点。
  5. (权限管理) 一个系统的文件权限用3位二进制码表示,分别代表“读”、“写”、“执行”权限,1为允许,0为禁止。如果用户A的权限码是十进制数 \(6\) 的二进制形式,请问他拥有哪些权限?

🤔 常见疑问 FAQ

💡 专家问答:进制转换:十转二 的深度思考

问:为什么很多学生觉得这一块很难?

答:难点通常不在于计算步骤,而在于对“基数”和“位权”概念的抽象理解。十进制中,数字“\(13\)”我们天然理解为 \(1\) 个十和 \(3\) 个一。但在转换时,我们需要跳出这种直觉,用数学定义去解构它:\(13 = 1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0\)。短除法的本质,就是不断确定每个“\(2^n\)”位上的系数是 \(0\) 还是 \(1\)。“倒着写”之所以反直觉,是因为我们计算时从低位(\(2^0\))的余数开始得到,但书写结果要从高位(\(2^n\))开始。理解其背后的数理逻辑,而不仅是记忆步骤,是关键。

问:学习这个知识点对以后的数学学习有什么帮助?

答:这是连接古典算术与现代信息科学的基石。首先,它是最基本的数论思想——用不同基数表示数的实践。其次,它是理解计算机科学所有底层逻辑的起点,从数据存储到CPU运算。在数学上,它通向同余理论(短除法取余)、递归思想(不断除以2的过程)和指数、对数的实际应用(二进制位数 \(n\) 与数值大小 \(N\) 的关系约为 \(n \approx \log_2 N\))。熟练掌握进制转换,能极大提升你的逻辑分解与重组能力。

问:有什么一招必胜的解题“套路”吗?

答:有!牢记并严格执行这个标准化操作流程(SOP)

  1. 设问: “将 \((N)_{10}\) 转为二进制”。
  2. 列竖式: 写下短除法框架。
  3. 循环计算: 执行“\(商 \leftarrow N \div 2\),记录余数 \(r\) (\(0\) 或 \(1\)),\(N \leftarrow 商\)”,直到 \(商 = 0\)。
  4. 反向输出: 将所有记录的余数,从最后一个到第一个,依次写出。

用公式化的语言描述:对于正整数 \(N\),其二进制表示 \((b_k b_{k-1} ... b_1 b_0)_2\) 可通过递归关系 \(N = 2 \times Q_1 + b_0,\ Q_1 = 2 \times Q_2 + b_1,\ ... ,\ Q_{k-1} = 2 \times 0 + b_k\) 得到。无脑执行这个流程,就能保证100%正确。


答案与解析

第一关:基础热身

  1. \((12)_{10}\): \(12\div2=6\cdots0\), \(6\div2=3\cdots0\), \(3\div2=1\cdots1\), \(1\div2=0\cdots1\) → \((1100)_2\)
  2. \((8)_{10}\): \(8\div2=4\cdots0\), \(4\div2=2\cdots0\), \(2\div2=1\cdots0\), \(1\div2=0\cdots1\) → \((1000)_2\)
  3. \((5)_{10}\): \(5\div2=2\cdots1\), \(2\div2=1\cdots0\), \(1\div2=0\cdots1\) → \((101)_2\)
  4. \((19)_{10}\): \(19\div2=9\cdots1\), \(9\div2=4\cdots1\), \(4\div2=2\cdots0\), \(2\div2=1\cdots0\), \(1\div2=0\cdots1\) → \((10011)_2\)
  5. \((30)_{10}\): \(30\div2=15\cdots0\), \(15\div2=7\cdots1\), \(7\div2=3\cdots1\), \(3\div2=1\cdots1\), \(1\div2=0\cdots1\) → \((11110)_2\)
  6. \((7)_{10}\): \(7\div2=3\cdots1\), \(3\div2=1\cdots1\), \(1\div2=0\cdots1\) → \((111)_2\)
  7. \((25)_{10}\): \(25\div2=12\cdots1\), \(12\div2=6\cdots0\), \(6\div2=3\cdots0\), \(3\div2=1\cdots1\), \(1\div2=0\cdots1\) → \((11001)_2\)
  8. \((2)_{10}\): \(2\div2=1\cdots0\), \(1\div2=0\cdots1\) → \((10)_2\)
  9. \((15)_{10}\): \(15\div2=7\cdots1\), \(7\div2=3\cdots1\), \(3\div2=1\cdots1\), \(1\div2=0\cdots1\) → \((1111)_2\)
  10. \((100)_{10}\): \(100\div2=50\cdots0\), \(50\div2=25\cdots0\), \(25\div2=12\cdots1\), \(12\div2=6\cdots0\), \(6\div2=3\cdots0\), \(3\div2=1\cdots1\), \(1\div2=0\cdots1\) → \((1100100)_2\)

第二关:奥数挑战

  1. \((127)_{10}\): \(127=2^7-1\) → \((1111111)_2\)
  2. \((255)_{10}\): \(255=2^8-1\) → \((11111111)_2\)
  3. \((1001001)_2 = 1\times2^6+0\times2^5+0\times2^4+1\times2^3+0\times2^2+0\times2^1+1\times2^0 = 64+8+1=73\)
  4. \((2024)_{10}\): 计算得 \((11111101000)_2\)(过程略)
  5. \((18)_{10} = (9)_{10} \times 2\),二进制 \(1001\) 左移一位(末尾加0)得 \((10010)_2\)。
  6. 从右往左第3位(\(2^{2}\)位),代表的十进制值是 \(4\)。
  7. \((64)_{10} = 2^6\) → \((1000000)_2\)
  8. 可能的 \(n\):\((111)_2=7\), \((1011)_2=11\), \((1101)_2=13\), \((1110)_2=14\), \((10011)_2=19\)。但 \(n<20\),所以是 \(7, 11, 13, 14, 19\)。
  9. \((47)_{10}\): \(47\div2=23\cdots1\), \(23\div2=11\cdots1\), \(11\div2=5\cdots1\), \(5\div2=2\cdots1\), \(2\div2=1\cdots0\), \(1\div2=0\cdots1\) → \((101111)_2\)
  10. \((110110)_2=54\), \((101101)_2=45\),前者更大。

第三关:生活应用

  1. 第1层: \((1000)_2 = 8\)个;第2层: \((100)_2 = 4\)个;第3层: \((10)_2 = 2\)个;第4层: \((1)_2 = 1\)个。
  2. \((21)_{10} = (10101)_2\),补足8位为 \(00010101\)。
  3. 原价: \((10100)_2=20\)元,折扣价: \((1111)_2=15\)元,优惠了 \(5\) 元。
  4. \((1024)_{10} = 2^{10}\),二进制为 \(1\) 后面跟 \(10\) 个 \(0\),即 \((10000000000)_2\)。
  5. \((6)_{10} = (110)_2\)。从高位到低位(读、写、执行):1(允许读),1(允许写),0(禁止执行)。所以拥有读和写权限。

PDF 练习题打印版

为了节省资源,点击后将为您即时生成 PDF