跳转到内容

GCSE 计算机/计算机硬件/二进制逻辑导论/二进制逻辑

来自维基教科书,开放的书籍,开放的世界

你需要知道什么

[编辑 | 编辑源代码]

考试委员会说,你必须能够解释“为什么数据以二进制形式表示在计算机系统中?”

我们都习惯了十进制计数,并且只有十个不同的数字(0,1,2,3,4,5,6,7,8,9)。当我们想要超过9时,我们很容易将两个数字组合在一起 - 例如1和0组成10。我们理解“1”实际上代表“十个一”。我们可以对几乎所有数字进行这样的操作,知道8,456代表“八个千、四个百、五个十和六个一”。

使用十进制称为“十进制”,这是因为我们有十根手指,因此用这种方式计数很容易 - 这只是一个方便的方式。由于计算机没有手指,因此十进制对它们来说并不方便。对于它们来说,最好的系统是所谓的“二进制”。手指的等效物是检测流过电线的电流量。为简单起见,我们认为电流是“开”或“关”。如果电流关闭,我们称之为零,如果电流打开,我们称之为1。 注意

一根电线只能告诉我们某件事是开还是关,这不是很有用。假设我们有三根电线,我们(或者更确切地说计算机)检查每根电线,看它是开还是关。我们得到以下可能性

图 1
状态 电线 1 电线 2 电线 3
电流?
电流?
电流?
电流?
电流?
电流?
电流?
电流?

如果我们将“关”视为零,并将“开”视为一,我们会得到

图 2
状态 电线 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

现在让我们回到普通的十进制。我们有这样的列标题

图 3
百位 十位 个位 意义
8 3 2 八百、三个十和两个一 - 832
4 0 5 四个百、零个十和五个一 - 405

我们可以用二进制做同样的事情,但列标题会改变

图 4
十六位 八位 四位 两位 个位 意义
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 可能有助于你理解这一点。

图 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

如果你不太喜欢数学...

[编辑 | 编辑源代码]

在普通的十进制中,每列都是其右边列的十倍。
在二进制中,每列都是其右边列的两倍。

下一步

[编辑 | 编辑源代码]

比特、字节、尼布尔

华夏公益教科书