跳转到内容

二进制

来自轻之舟百科

二进制(英语:Binary System)是一种以2为基数的进位制数制系统,仅使用0和1两个数字符号,其基数为2,进位规则为"逢二进一",借位规则为"借一当二"[1]。每个二进制数字称为一个比特(Bit,即Binary digit的缩写),是信息论与计算机科学中最基本的数位单元[2]。二进制数据采用位置计数法,其位权是以2为底的幂,任何数值均可表示为若干2的幂次之和[1]。现代电子计算机普遍采用二进制作为底层运算与数据存储的基础,因其仅需两种对立的物理状态即可实现,如晶体管的导通与截止、高低电平等[2]。1985年,IEEE发布IEEE 754标准,规范了二进制浮点算术的表示与运算,成为现代数值计算的通用基础[3][4]

二进制
中文名 二进制
外文名 Binary System[3]
别名 二进位制
基数 2
数码 0、1
基本单位 比特(Bit)
进位规则 逢二进一
借位规则 借一当二
主要应用 电子计算机、数字电路
提出者 戈特弗里德·威廉·莱布尼茨

定义与表示

二进制是一种逢二进一的计数系统,其数位从右向左的位权依次为<math>2^0, 2^1, 2^2, \dots</math>。例如,二进制数<math>1101_2</math>按权展开为:

<math>1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 8 + 4 + 0 + 1 = 13_{10}</math>

二进制数通常以下标2或后缀B标识,以区别于十进制数。小数部分同样遵循位权原则,各位权值为<math>2^{-1}, 2^{-2}, 2^{-3}, \dots</math>,但并非所有十进制小数都能精确转换为有限位二进制小数[1]

历史

二进制系统的数学基础由德国数学家戈特弗里德·威廉·莱布尼茨(Gottfried Wilhelm Leibniz)于1679年建立,并于1703年在《皇家科学院回忆录》上发表论文《二进制算术的解释》(Explication de l'Arithmétique Binaire),正式向西方学术界系统阐述了二进制算术[5]。莱布尼茨在与中国传教士的书信中提及,《易经》的六十四卦由阴爻(断线)与阳爻(连线)组成,其排列顺序与0至63的二进制数值完全对应,这使他确信二进制是一种普适的数学语言[5]

19世纪,乔治·布尔(George Boole)创立布尔代数,以0和1为变量值进行逻辑运算,为电子计算机采用二进制提供了理论基础[2]。20世纪40年代,冯·诺依曼团队在设计电子计算机时,将二进制系统付诸实践,通过高低电平分别对应0和1,实现了信息的物理表征与存储[2]。1983年,IEEE《通信杂志》刊文回顾了二进制编码的早期历史,系统梳理了其从数学理论到工程应用的演进脉络[6]

运算规则

二进制数的四则运算规则简洁,仅涉及0和1两个数码的组合。

加法

二进制加法遵循以下规则:

<math>0 + 0 = 0</math>

<math>0 + 1 = 1</math>

<math>1 + 0 = 1</math>

<math>1 + 1 = 10</math>(逢二进一)

例如:<math>1011_2 + 11_2 = 1110_2</math>[1]

减法

二进制减法规则如下:

<math>0 - 0 = 0</math>

<math>1 - 0 = 1</math>

<math>1 - 1 = 0</math>

<math>0 - 1 = 1</math>(向高位借一当二)

例如:<math>10100_2 - 1010_2 = 1010_2</math>[7]

乘法

二进制乘法规则与逻辑"与"运算一致:

<math>0 \times 0 = 0</math>

<math>0 \times 1 = 0</math>

<math>1 \times 0 = 0</math>

<math>1 \times 1 = 1</math>

运算时按位相乘后累加,其过程与十进制乘法类似,但因数码仅有0和1,部分积的移位相加大幅简化[1]

除法

二进制除法规则为:

<math>0 \div 1 = 0</math>

<math>1 \div 1 = 1</math>

除法运算通过逐位比较被除数与除数的大小,商仅为0或1,余数继续下移补位,直至完成全部位运算[7]

与其他进制的转换

与十进制

二进制转十进制采用"按权展开求和"法,将各位数码乘以其对应位权后累加。十进制整数转二进制采用"除二取余,逆序排列"法;十进制小数转二进制采用"乘二取整,顺序排列"法[1]

与八进制

二进制转八进制时,从小数点起整数部分向左、小数部分向右,每三位分为一组,不足三位以0补足,每组对应一位八进制数。反之,每位八进制数展开为三位二进制数[1]

与十六进制

二进制转十六进制时,每四位分为一组,不足四位以0补足,每组对应一位十六进制数(0–9及A–F)。十六进制转二进制则将每位展开为四位二进制数[1]

在计算机中的应用

二进制是现代数字电子计算机的运算基础。由于二进制仅有两个数码,可用任何具有两种对立稳定状态的物理元件表示,如晶体管的导通与截止、电容的充电与放电、磁性材料的两种剩磁状态等,这使得数字装置结构简单、可靠性高[2]

在计算机内部,所有数据——包括数值、字符、图像、音频——最终均以二进制形式存储与处理。为规范浮点数的二进制表示,IEEE于1985年制定IEEE 754标准,定义了单精度(32位)与双精度(64位)二进制浮点格式,确保了数值计算在不同平台间的一致性与可移植性[4]。此外,二进制补码(Two's Complement)被广泛用于表示有符号整数,使减法运算可通过加法电路统一实现[6]

参考文献