什么是二进制?17 Mar 2025 | 5 分钟阅读 戈特弗里德·莱布尼茨发明了二进制数,它是一种基数为 2 的数字系统,仅包含两个数字或数码:0(零)和 1(一)。这种数字系统是所有二进制代码的基础,用于编写数字数据,例如我们每天使用的计算机处理器指令。 任何只有两种可能状态的数字编码/解码系统也称为二进制编码/解码系统。在数字数据内存、处理、存储和通信中,0 和 1 通常分别被称为“低”和“高”。 在计算机中,最小的数据单位是位(bit,binary digit 的缩写);每个位包含单个值 1 或 0。扩展名为“.bin”的二进制文件通常用于标识可执行(即时运行)的程序。二进制一词也常被程序员用来指代可执行文件。 二进制如何工作?在二进制中,0 和 1 分别表示“关”和“开”。在 晶体管 中,“0”表示没有电流流过,而“1”表示有电流流过。数字在计算设备内部以这种方式物理表示,从而可以进行计算。在本页下方关于如何读取二进制数的章节中,我们将更详细地介绍这个概念。 为什么计算机使用二进制?由于以下原因,二进制仍然是主要的计算机语言,并且仍在电子和计算机硬件中使用。
如何读取二进制数下面的图示显示了二进制数 01010101。当您查看这八个位置时,每一列都代表 2 的指数幂,指数值递增一。您需要从右到左遍历图表,并将每一列的值加到前一列以获得此示例的总和:(1+4+16+64) = 85。我们不计算值为零(0)的位,因为它们是“关闭/关闭”的,正如您所见。
下一个示例是下面的二进制值 01101000,这是 8 位数的最大值 104。同样,从右到左读取,我们得到 8+32+64 = 104。
另一个示例是二进制值 11111111,这是 8 位数的最大值 255。当您从右到左开始读取时,将得到 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255。
注意:通常,计算机计数从“0”而不是“1”开始。因此,计算所有位等于 255,但从 0 开始等于 256。字节(byte)被定义为八位,由字节中的位数决定。当您将前一个示例(01101000)的总和为“104”的二进制代码翻译成 ASCII 时,您将得到一个小写字母“h”。要拼写单词“hi”,您需要包含字母 I 的二进制数,即 01101001。通过将这两个代码组合起来,我们得到 0110100001101001,即 104 和 105,它们分别代表“hi”。 如何在二进制中相加二进制数相加与十进制数相加非常相似。例如,如果我们有二进制数 01101011 (107) 并想加上 10000111 (135),我们会这样做:
我们将从右侧开始,将 1+1 相加得到“2”。由于二进制中没有数字 2,我们将使用二进制值“10”并将“1”进位到下一列。
现在我们将前一列的“1”加到下一列的“3”上。而且,由于没有数字“3”存在于二进制中,我们使用“11”,它在二进制中代表 3,写下 1 并将 1 进位到下一列。
然后,我们将进位的“1”与 **1+0+1** 相加,得到“10”,这表示二进制中的 2。
通过对所有八位重复此过程,我们得到结果 11110010 (242)。
什么是左移和右移?将二进制数的每一位向左移动(移动)称为左移,它用于将二进制值翻倍或乘以二。例如,二进制数“00111110”等于 62,当位向左移时,它变成“01111100”,等于 124。另一个例子是当二进制数“00000011”等于 3 并左移到“00000110”时,它等于 6。 右移与左移相同,只是为了将数字除以二,位向右移动。当执行右移操作时,二进制数“00001010”等于 10,变为“00000101”,等于 5。 什么是“0b”前缀?为了避免误解,在书写二进制数时,可以在其前面加上“0b”(零和 b)前缀。例如,在二进制中,0b0100 表示“0100”。由于这个前缀,读者可以知道这而不是十进制的“100”。 二进制幽默下图是关于一些二进制喜剧(笑话)的例子,来自许多极客 T 恤上的流行语。“世界上只有两类人:一类是理解二进制的人,另一类是不理解的人”,这句话真正说出了那些能读懂二进制的人。在二进制系统中,十是二,不是十。 ![]() 二进制一词也可以指代以下内容:
|
我们请求您订阅我们的新闻通讯以获取最新更新。