二进制的相关思考
第1步:先回忆十进制
姐妹你想象一下,我们平时用的数字是 十进制(满10进1):
比如数字 5 就是 5(简单直接)。
但计算机用 二进制(满2进1),只有 0 和 1 两个数字。我们得把5“翻译”成二进制对吧。
第2步:二进制其实是“分糖果”
想象你有5块糖,现在要用 2的幂次(1,2,4,8,16…)的盒子来装,每个盒子只能装 0个或1个,怎么装?
- 最大的盒子是4(2²):能装下吗?能!5 - 4 = 1,还剩1块糖 ✅
- 下一个盒子是2(2¹):还剩1块,装不下2,所以这个盒子放0 ❌
- 最小的盒子是1(2⁰):剩下的1块刚好装进去 ✅
于是你用了 1个4的盒子、0个2的盒子、1个1的盒子,组合起来就是 101!
第3步:用数学验证
把二进制的每一位 乘对应的2的幂次,再相加:
1 0 1
↓ ↓ ↓
1×2² + 0×2¹ + 1×2⁰ = 4 + 0 + 1 = 5
结果正好是5,说明正确!🎉
第4步:换一种方法——除法取余法
- 5 ÷ 2 = 2 余1 → 记录 1(最右边的第一位)
- 2 ÷ 2 = 1 余0 → 记录 0(中间第二位)
- 1 ÷ 2 = 0 余1 → 记录 1(最左边的第三位)
- 从下往上读余数:101
🌰 举个栗子:
就像搭积木,二进制是 用2的倍数来拼出数字。5的积木组合是 4+1,对应二进制就是 101(有4的位置写1,没2的位置写0,有1的位置写1)。
总结:
二进制就像用不同大小的盒子(2的幂次)装糖,能装就标1,不能装标0,最后连起来就是答案!5的二进制是 101
一、先回顾二进制基础
二进制只有 0 和 1,每一位代表 2的幂次。比如:
1011(二进制)= 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8+0+2+1 = 11(十进制)
二、二进制四则运算
1. 加法:像“凑满2个就进位”
-
规则
:
0 + 0 = 0 0 + 1 = 1 1 + 1 = 10 (个位写0,向高位进1) -
例子
:计算
1101 + 10111 1 0 1 + 1 0 1 1 ----------- 1 1 0 0 0步骤分解
:
- 从右往左加:
- 第1位:1+1=0,进1
- 第2位:0+1+进位1=0,进1
- 第3位:1+0+进位1=0,进1
- 第4位:1+1+进位1=1,进1
- 最高位补进位1 → 结果 11000(十进制24)
- 从右往左加:
2. 减法:借位时“借1当2”
-
规则
:
0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 - 1 = 1 (需向高位借1,变成2-1=1) -
例子
:计算
1010 - 01011 0 1 0 - 0 1 0 1 ------------ 0 1 0 1步骤分解
:
- 对齐位数,补0成
1010 - 0101 - 从右往左减:
- 第1位:0-1 → 借位,变成 2-1=1,高位被借后变0
- 第2位:0-0=0(原高位被借过,现在是0)
- 第3位:1-1=0
- 第4位:0-0=0 → 结果 0101(十进制5)
- 对齐位数,补0成
3. 乘法:移位相加
-
规则:乘0得0,乘1得原数,最后相加。
-
例子
:计算
101 × 111 0 1 × 1 1 --------- 1 0 1 ← 101×1(对应第1位) 1 0 1 ← 101×1(对应第2位,左移一位) --------- 1 1 1 1结果
:
1111(十进制15)
4. 除法:不断减去除数
-
例子
:计算
1101 ÷ 101(即13 ÷ 5)
商:10(二进制) 余数:11(二进制)步骤分解
:
-
比较
1101和
101:
- 101×2=1010(十进制10) ≤ 1101(13)
- 余数:1101 - 1010 = 011(3)
-
最终:商是 10(十进制2),余数 11(3)。
-
当然 对于十进制怎么转化二进制,我提供方法:
方法一:除2取余法(推荐!)
口诀:除2取余,倒着读
步骤(以数字 13 为例):
-
不断除以2,记录余数:
13 ÷ 2 = 6 余1 → 记下1(最右边第一位) 6 ÷ 2 = 3 余0 → 记下0(第二位) 3 ÷ 2 = 1 余1 → 记下1(第三位) 1 ÷ 2 = 0 余1 → 记下1(最左边第四位)余数顺序:1 → 0 → 1 → 1(从下往上读)
-
倒序排列余数:
把余数从最后一步到第一步连起来 → 1101
✅ 验证:1×8 + 1×4 + 0×2 + 1×1 = 13
方法二:找最大的2的幂次(适合小数字)
口诀:找最大的2ⁿ,依次减,能减写1
步骤(以数字 10 为例):
- 列出小于10的2的幂次:
2⁰=1、2¹=2、2²=4、2³=8(下一个是16,超过了10) - 从大到小尝试减:
- 8(2³):10 - 8 = 2 → 能减,标 1
- 4(2²):剩下2,不够减4 → 标 0
- 2(2¹):2 - 2 = 0 → 标 1
- 1(2⁰):剩下0 → 标 0
- 组合结果:1010
✅ 验证:1×8 + 0×4 + 1×2 + 0×1 = 10
对比两种方法
| 方法 | 适用场景 | 例子(10转二进制) |
|---|---|---|
| 除2取余 | 任意大小数字,尤其适合手算 | 10 → 1010 |
| 幂次减法 | 小数字,直观易理解 | 10 → 1010 |
🌰 生活化比喻
把十进制数想象成 一堆积木,二进制就是用 不同大小的2ⁿ积木块(1,2,4,8…)来拼出这个数。比如拼10:
- 用 8(最大块) → 剩2
- 用 2 → 刚好用完
- 不用4和1 → 最终组合:8+2 = 10 → 二进制 1010
常见错误自查
- 余数顺序写反 → 记得倒着读余数!
- 漏写最高位的1 → 比如数字8是
1000,不是0001 - 没减到0就停止 → 必须除到商为0为止!
1742

被折叠的 条评论
为什么被折叠?



