二进制的相关思考

二进制的相关思考


第1步:先回忆十进制
姐妹你想象一下,我们平时用的数字是 十进制(满10进1):
比如数字 5 就是 5(简单直接)。

但计算机用 二进制(满2进1),只有 01 两个数字。我们得把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步:换一种方法——除法取余法

  1. 5 ÷ 2 = 2 余1 → 记录 1(最右边的第一位)
  2. 2 ÷ 2 = 1 余0 → 记录 0(中间第二位)
  3. 1 ÷ 2 = 0 余1 → 记录 1(最左边的第三位)
  4. 从下往上读余数101

🌰 举个栗子:
就像搭积木,二进制是 用2的倍数来拼出数字。5的积木组合是 4+1,对应二进制就是 101(有4的位置写1,没2的位置写0,有1的位置写1)。


总结:
二进制就像用不同大小的盒子(2的幂次)装糖,能装就标1,不能装标0,最后连起来就是答案!5的二进制是 101

一、先回顾二进制基础

二进制只有 01,每一位代表 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 + 1011
    
      1 1 0 1  
    + 1 0 1 1  
    -----------
    1 1 0 0 0
    

    步骤分解

    1. 从右往左加:
      • 第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 - 0101
    
    1 0 1 0  
      -   0 1 0 1  
      ------------
          0 1 0 1
    

    步骤分解

    1. 对齐位数,补0成 1010 - 0101
    2. 从右往左减:
      • 第1位:0-1 → 借位,变成 2-1=1,高位被借后变0
      • 第2位:0-0=0(原高位被借过,现在是0)
      • 第3位:1-1=0
      • 第4位:0-0=0 → 结果 0101(十进制5)

3. 乘法:移位相加
  • 规则:乘0得0,乘1得原数,最后相加。

  • 例子

    :计算

    101 × 11
    
        1 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(二进制)
    

    步骤分解

    1. 比较

      1101
      

      101
      

      • 101×2=1010(十进制10) ≤ 1101(13)
      • 余数:1101 - 1010 = 011(3)
    2. 最终:商是 10(十进制2),余数 11(3)。

当然 对于十进制怎么转化二进制,我提供方法:


方法一:除2取余法(推荐!)

口诀:除2取余,倒着读
步骤(以数字 13 为例):

  1. 不断除以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(从下往上读)

  2. 倒序排列余数
    把余数从最后一步到第一步连起来 → 1101
    ✅ 验证:1×8 + 1×4 + 0×2 + 1×1 = 13


方法二:找最大的2的幂次(适合小数字)

口诀:找最大的2ⁿ,依次减,能减写1
步骤(以数字 10 为例):

  1. 列出小于10的2的幂次
    2⁰=12¹=22²=42³=8(下一个是16,超过了10)
  2. 从大到小尝试减
    • 8(2³):10 - 8 = 2 → 能减,标 1
    • 4(2²):剩下2,不够减4 → 标 0
    • 2(2¹):2 - 2 = 0 → 标 1
    • 1(2⁰):剩下0 → 标 0
  3. 组合结果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. 余数顺序写反 → 记得倒着读余数!
  2. 漏写最高位的1 → 比如数字8是1000,不是0001
  3. 没减到0就停止 → 必须除到商为0为止!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式的狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值