GCSE 计算机/计算机硬件/二进制逻辑导论/二进制逻辑
考试委员会说,你必须能够解释“为什么数据以二进制形式表示在计算机系统中?”
我们都习惯了十进制计数,并且只有十个不同的数字(0,1,2,3,4,5,6,7,8,9)。当我们想要超过9时,我们很容易将两个数字组合在一起 - 例如1和0组成10。我们理解“1”实际上代表“十个一”。我们可以对几乎所有数字进行这样的操作,知道8,456代表“八个千、四个百、五个十和六个一”。
使用十进制称为“十进制”,这是因为我们有十根手指,因此用这种方式计数很容易 - 这只是一个方便的方式。由于计算机没有手指,因此十进制对它们来说并不方便。对于它们来说,最好的系统是所谓的“二进制”。手指的等效物是检测流过电线的电流量。为简单起见,我们认为电流是“开”或“关”。如果电流关闭,我们称之为零,如果电流打开,我们称之为1。 注意
一根电线只能告诉我们某件事是开还是关,这不是很有用。假设我们有三根电线,我们(或者更确切地说计算机)检查每根电线,看它是开还是关。我们得到以下可能性
状态 | 电线 1 | 电线 2 | 电线 3 |
---|---|---|---|
电流? | 关 | 关 | 关 |
电流? | 关 | 关 | 开 |
电流? | 关 | 开 | 关 |
电流? | 开 | 关 | 关 |
电流? | 开 | 关 | 开 |
电流? | 开 | 开 | 关 |
电流? | 开 | 关 | 开 |
电流? | 开 | 开 | 关 |
如果我们将“关”视为零,并将“开”视为一,我们会得到
状态 | 电线 1 | 电线 2 | 电线 3 |
---|---|---|---|
电流? | 0 | 0 | 0 |
电流? | 0 | 0 | 1 |
电流? | 0 | 1 | 0 |
电流? | 1 | 0 | 0 |
电流? | 1 | 0 | 1 |
电流? | 1 | 1 | 0 |
电流? | 1 | 0 | 1 |
电流? | 1 | 1 | 1 |
现在让我们回到普通的十进制。我们有这样的列标题
百位 | 十位 | 个位 | 意义 |
---|---|---|---|
8 | 3 | 2 | 八百、三个十和两个一 - 832 |
4 | 0 | 5 | 四个百、零个十和五个一 - 405 |
我们可以用二进制做同样的事情,但列标题会改变
十六位 | 八位 | 四位 | 两位 | 个位 | 意义 |
---|---|---|---|---|---|
1 | 0 | 1 | 1 | 0 | 16 + 4 + 2 = 22 |
0 | 0 | 0 | 1 | 1 | 2 + 1 = 3 |
1 | 0 | 0 | 0 | 1 | 16 + 1 = 17 |
列标题不同,但理念相同:列标题告诉你该列中一个条目值多少。在正常的十进制中,任何在第二列(从右边开始)的条目值都为10,在二进制中为2。下一列在十进制中值为100,但在二进制中仅为4。
现在我们可以再次查看图一或图二,并说这些电线是开还是关的方式可以告诉我们一个数字。因此,如果左边的电线关闭,而接下来的两根电线打开,“值”为3。下面的图 6 可能有助于你理解这一点。
状态 | 电线 1 | 电线 2 | 电线 3 | |
---|---|---|---|---|
电流? | O | O | O | 没有四、没有二、没有一 = 0 |
电流? | O | 0 | 1 | 没有四、没有二、有一个一 = 1 |
电流? | 0 | 1 | 0 | 没有四、有一个二、没有一 = 2 |
电流? | 0 | 1 | 1 | 没有四、有一个二、有一个一 = 3 |
电流? | 1 | 0 | 0 | 有一个四、没有二、没有一 = 4 |
电流? | 1 | 0 | 1 | 有一个四、没有二、有一个一 = 5 |
电流? | 1 | 1 | 0 | 有一个四、有一个二、没有一 = 6 |
电流? | 1 | 1 | 1 | 有一个四、有一个二、有一个一 = 7 |
在 http://forums.cisco.com/CertCom/game/binary_game_page.htm 练习这个概念
十进制(普通数学)的演化是因为我们有十根手指,很容易想到十个数字(0 到 9)。
二进制对计算机有用,因为它们只能真正记录两种可能性:开或关。因此,它们使用 0 和 1 来表示这些。因此,二进制没有数字 2 到 9。它们永远不会被使用。。这与十进制中没有特殊数字来表示十一完全相同:你只需使用两个 1。在二进制中表示三,使用两个 1,表示一个二和一个一 = 3
(如果不是,请参见下文!)
每列都以 2 的幂递增,如下所示:十进制
10^5 | 10^4 | 10^3 | 10^2 | 10^1 | 10^0 |
---|---|---|---|---|---|
100,000 | 10,000 | 1000 | 100 | 10 | 1 |
二进制
2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
---|---|---|---|---|---|
32 | 16 | 8 | 4 | 2 | 1 |
在普通的十进制中,每列都是其右边列的十倍。
在二进制中,每列都是其右边列的两倍。