我最近介绍了十进制数字系统,即我们作为人类所使用的系统。
正如我在那篇文章中所说,作为人类,我们通常有10根手指,我们可以数到10,因此该系统在我们的历史上很受欢迎。
二进制数字系统对我们人类来说是第二重要的系统,因为它引领了电子和计算机革命。
在电子学中,我们有2种状态。0或1。有0伏,或有5伏(或9伏、12伏,等等)。一个门是打开的,或者它是关闭的。
它要么是一个,要么是另一个。
二进制数字系统中的数字被称为比特。
与十进制数字系统一样,二进制数字系统也是有位置的。
我们把二进制数制中的每个数字都乘以2的幂,取决于它们的位置,从右边的0位开始。
鉴于此。
\2^0]等于1
\[2^1]等于2
\[2^2]等于4
\[2^3]等于8,以此类推。
我们可以用一系列的比特来表示数字。
1 can be represented as \[1\times2^0\].
10 可以表示为:\[1\times2^1 + 0\times2^0\]。
111 can be represented as\[1times2^2 + 1\times2^1 + 1\times2^0\].
数字中的前导零可以去掉,也可以根据需要添加,因为它们在左上角没有任何意义1: 如果需要,110 可以表示为0110 或00000110 。它拥有相同的确切含义,因为正如上面的系统所解释的那样,我们只是将一个2的幂乘以0。
使用二进制数字,我们可以在十进制数字系统中表示任何种类的数字。
我们需要有足够多的数字来表示足够多的数字。如果我们想有16个数字,所以我们可以从0数到15,我们需要4个数字(比特)。有了5个比特,我们就可以计算32个数字。32位将给我们提供4,294,967,296 可能的数字。
64位将给我们提供9,223,372,036,854,775,807 可能的数字。它增长得相当快。
下面是一个前4位数字的简单转换表,我们只用2位就可以生成。
| 十进制数字 | 二进制数 |
|---|---|
| 0 | 00 |
| 1 | 01 |
| 2 | 10 |
| 3 | 11 |
下面是一个前8位数字的简单转换表。
| 十进制数字 | 二进制数 |
|---|---|
| 0 | 000 |
| 1 | 001 |
| 2 | 010 |
| 3 | 011 |
| 4 | 100 |
| 5 | 101 |
| 6 | 110 |
| 7 | 111 |
如果你注意到,我重复了上面的序列,在从4到7的序列中加入1 ,而不是0 。
下面是一个前16位数字的简单转换表。
| 十进制数字 | 二进制数字 |
|---|---|
| 0 | 0000 |
| 1 | 0001 |
| 2 | 0010 |
| 3 | 0011 |
| 4 | 0100 |
| 5 | 0101 |
| 6 | 0110 |
| 7 | 0111 |
| 8 | 1000 |
| 9 | 1001 |
| 10 | 1010 |
| 11 | 1011 |
| 12 | 1100 |
| 13 | 1101 |
| 14 | 1110 |
| 15 | 1111 |
同样,我重复了我们用来获得前8个数字的序列,在第一组0-7中预加了0,在8-15中预加了1。
我很快就会讲到用二进制数字进行和、除等运算,讲到十六进制数字系统,讲到如何从二进制转换为十进制和十六进制,不用看这些表格,反之亦然。