二进制(binary),是在
数学和
数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。发现者是
莱布尼茨。数字
电子电路中,
逻辑门的实现直接应用了二进制,现代的
计算机和依赖计算机的设备里都使用二进制。每个数字称为一个
比特(Bit,Binary digit的缩写)。
计数系统
进制
在基数b的位置记数系统(其中b是一个正
自然数,叫做
基数),b个基本符号(或者叫数字)对应于包括0的最小b个自然数。 要产生其他的数,符号在数中的位置要被用到。最后一位的符号用它本身的值,向左一位其值乘以b。一般来讲,若b是基底,在b进制系统中的数表示为 的形式,并按次序写下数字a0a1a2a3...ak。这些数字是0到b-1的自然数。
一般来讲,b进制系统中的数有如下形式:
二进制计数
17世纪至18世纪的德国数学家
莱布尼茨,是世界上第一个提出
二进制记数法的人。用二进制记数,只用0和1两个符号,无需其它符号。
二进制数据也是采用位置
计数法,其
位权是以2为底的
幂。例如二进制数据110.11,逢2进1,其权的大小顺序为22、21、2º、 、 。对于有n位
整数,m位
小数的二进制数据用加权系数展开式表示,可写为:
二进制数据一般可写为:
【例】:将二进制数据111.01写成加权
系数的形式。
解:
二进制和
十六进制,
八进制一样,都以二的
幂来进位的。
运算
加法
二进制加法有四种情况: 0+0=0,0+1=1,1+0=1,1+1=10(0 进位为1)。
乘法
二进制乘法有四种情况: 0×0=0,1×0=0,0×1=0,1×1=1。
减法
二进制减法有四种情况:0-0=0,1-0=1,1-1=0,10-1=1。
除法
二进制除法有两种情况(除数只能为1):0÷1=0,1÷1=1。
实例
两个二进制数1001与0101的算数运算可表示为:
进制转换
二进制转换为十进制
方法:“按权展开求和”,该方法的具体步骤是先将二进制的数写成加权系数展开式,而后根据十进制的加法规则进行求和。
【例】:
规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。
十进制转换为二进制
一个十进制数转换为二进制数要分
整数部分和小数部分分别转换,最后再组合到一起。
商和
余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。例:125。
小数部分要使用“乘 2 取整法”。即用十进制的小数乘以 2 并取走结果的整数(必是 0 或 1),然后再用剩下的小数重复刚才的步骤,直到剩余的小数为 0 时停止,最后将每次得到的整数部分按先后顺序从左到右排列即得到所对应二进制小数。例如,将十进制小数 0.8125 转换成二进制小数过程如下:
通用进制转换
不同
进制之间的转换本质就是确定各个不同权值位置上的数码。转换
正整数的进制的有一个简单算法,就是通过用目标基数作长除法;余数给出从最低位开始的“数字”。例如,1020304从10进制转到7进制:
再如,10110111 从2进制到5进制:
计算机采用二进制原因
首先,
二进位计数制仅用两个
数码。0和1,所以,任何具有二个不同稳定状态的元件都可用来表示数的某一位。而在实际上具有两种明显稳定状态的元件很多。例如,
氖灯的“亮”和“熄” ;开关的“开” 和 “关”;电压的“高” 和“低”、“正”和 “负”;纸带上的“有孔”和“无孔”;电路中的“有信号” 和 “无信号”;
磁性材料的南极和北极等等,不胜枚举。 利用这些截然不同的状态来代表数字,是很容易实现的。不仅如此,更重要的是两种截然不同的状态不单有量上的差别,而且是有质上的不同。这样就能大大提高机器的抗干扰能力,提高可靠性。而要找出一个能表示多于二种状态而且简单可靠的器件,就困难得多了。
其次,二进位计数制的
四则运算规则十分简单。而且四则运算最后都可归结为加法运算和
移位,这样,电子计算机中的运算器线路也变得十分简单了。不仅如此,线路简化了,速度也就可以提高。这也是十
进位计数制所不能相比的。
第三,在电子计算机中采用二进制表示数可以节省设备。可 以从理论上证明,用三进位制最省设备,其次就是二进位制。但由于二进位制有包括三进位制在内的其他进位制所没有的优点,所以大多数电子计算机还是采用二进制。此外,由于二进制中只用二个符号 “ 0” 和“1”,因而可用
布尔代数来分析和综合机器中的逻辑线路。 这为设计电子计算机线路提供了一个很有用的工具。
第四,二进制的符号“1”和“0”恰好与逻辑运算中的“对”(true)与“错”(false)对应,便于计算机进行逻辑运算。