01二进制和十进制其实很像

我们平时用的是十进制。 十进制有 10 个数字符号: 0、1、2、3、4、5、6、7、8、9

二进制只有两个数字符号: 0 和 1。 但它们的计数方法其实很像:都是某一位用完后,就向左边进位

十进制
01234 56789

再加 1,就从 9 进位到 10

二进制
01

再加 1,就从 1 进位到 10₂

02每一位代表多大的数?

在十进制里,从右往左每一位的价值是: 1、10、100、1000……

在二进制里,从右往左每一位的价值是: 1、2、4、8、16……

十进制位值

千位1000 百位100 十位10 个位1

二进制位值

8 4 2 2⁰1

03二进制怎样进位?

十进制个位从 9 再加 1 时,要写 0,并向左进 1。 二进制更早就要进位,因为一位只有 0 和 1 两种数字。

0 + 1 0 + 1 = 1

还不用进位

1 + 1 1 + 1 = 10₂

这一位写 0,向左进 1

11₂ + 1 11₂ + 1 = 100₂

连续进位两次

二进制 0111
结果 1000

04从 0 开始数给你看

现在把十进制和二进制放在一起,就很容易看懂了。

十进制 二进制 发生了什么
00000全部是 0
10001最低位变成 1
20010最低位进位
300112 + 1
40100再次进位
501014 + 1
601104 + 2
701114 + 2 + 1
81000进入新的更高位

继续数下去就是: 1001、1010、1011、1100、1101、1110、1111、10000……

05怎样读懂一个二进制数?

假设看到二进制数: 1011₂。 不要把它念成“一千零十一”,因为它不是十进制。

我们要看每一位对应的位值:

18 位
04 位
12 位
11 位
1×8 + 0×4 + 1×2 + 1×1 = 11

06前面的 0 有什么用?

你刚才可能发现,我们把 1 写成了 0001, 把 5 写成了 0101。 那前面的 0 有什么意义?

1₂ = 01₂ = 001₂ = 0001₂

如果只看数值,它们都表示十进制的 1。

这些前导 0 不改变整数的数值, 但在计算机里经常很有用,因为数据通常会按照固定的位数来组织。

4 Bit 0101

固定写成 4 位

8 Bit 00000101

同一个数也可以放进 8 位中

07二进制不是一种“神秘密码”

二进制看起来像一串神秘的 0 和 1, 但它本质上只是另一种写数字的方法

10

十进制

使用 0~9

每一位是 10 的幂
2

二进制

使用 0 和 1

每一位是 2 的幂
16

十六进制

使用 0~9 和 A~F

每一位是 16 的幂

同一个数量,可以用不同进制写出来:

11₁₀ = 1011₂ = B₁₆

你已经知道了什么

  • 二进制和十进制一样,都是按位计数的方法。
  • 十进制使用 0~9,二进制只使用 0 和 1。
  • 十进制“逢十进一”,二进制“逢二进一”。
  • 二进制从右往左的位值是 1、2、4、8、16……也就是 2 的幂。
  • 10₂ 表示十进制的 2,不是十。
  • 读一个二进制数时,可以把所有值为 1 的位对应的位值加起来。
  • 前导 0 不改变整数的数值,但在固定长度的数据表示中很常见。
  • 二进制不是密码,而是和十进制、十六进制一样的一种记数系统。

下一个问题: 现在我们已经会读二进制了, 那如果给你一个十进制数,怎样一步一步把它变成二进制? 下一篇:十进制怎样变成二进制?