计算机为什么采用二进制?
1.二进制只需用两种状态表示数字, 容易实现
由于人的双手有十个手指,人类发明了十进位制记数法。然而,十进位制和电子计算机却没有天然的联系,所以在计算机的理论和应用中难以畅通无阻。究竟为什么十进位制和计算机没有天然的联系呢?和计算机联系最自然的记数方法又是什么?
计算机的运行要靠电源,对于一个电路节点来说,电流通过的状态只有两个:通电和断电。计算机信息存储常用磁盘和软磁盘,对于磁盘上的第一个记录点而言,也只有两个状态:磁化和未磁化。近年用光盘记录信息的做法也越来越普遍,光盘上每一个信息点的物理状态有两个:凹和凸,分别起着聚光的散光的作用。由此可见,计算机所使用的各种介质所能表现的都是两种状态,如果要记录十进位制的一位数,至少要有四个记录点,但此时又有六个信息状态闲置,这势必造成资源和资金的浪费。困此,十进位制不适合作为计算机工作的数字进位制。那么该用什么样的进位制呢?人们从十进位制的发明中得到启示:既然每种介质都是具有两个状态,最自然的进位制当然是二进位制。
二进位制所需要的记数的基本符号只要两个,即0和1.可以用1表示通电,0表示断电;或1表示磁化,0表示未磁化;或1表示凹点,0表示凸点。总之,二进位制的一个数位正好对应计算机介质的一个信息记录点。用计算机科学的语言,二进位制的一个数位称为一个比特,5个比特为一个字节。
二进位制在计算机内部使用再自然不过的。但在人机交流上,二进位制有致命的弱点-----数字的收写特别长。为了解决这个问题,在计算机的理论和应用中还使胜两种辅助的进位制-----八进位制和十六进位制。二进位制的三个数位正好记为八进位制的一个数位,这样,数字长度就只有二进位制的三分之一,与十进位制记的数长度差不多。十六进位制的一个数位可以代表二进位制的四个数位,这样,一个字节刚是十六进位制的两个数位。十六进位制要求使用十六个不同的符号,除了0~9十个符号外,常用的A\B\C\D\E\F六个符号代表10、11、12、13、14、15、16.这样,十进位制的100000写成十六进位制就是186A0.二进位制和八进位制、]二进位制和十六进位制之间的换算都十分简单,而采用八进位制和十六进位制避免了数字冗长带来的不便,所以八进位制、十六进位制已成为人机交流中常用的记数法。
计算机是由电子元、器件构成的, 二进制在电气、电子元器件中最易实现.它只有两个数字,
用两种稳定的物理状态即可表达, 而且稳定可靠.比如磁化与未磁化, 晶体管的载止与导通(表现为电平的高与低)等.而若采用十进制, 则需用十种稳定的物理状态分别表示十个数字, 不易到具有這种性能的元器件.即使有, 其运算与控制的实现也极复杂.
2.二进制的运算规则简单
加法是最基本的运算.乘法是连加, 减法是加法的逆运算(利用补码原理, 还可以转化为加法运算, 类似钟表拨针时的计算), 除法是乘法的逆运算.其余任何复杂的数值计算也都可以分解为基本算术运算复合进行.为提高运算效率, 在计算机中除采用加法器外, 也直接使用乘法器.
众所周知, 十进制的加法和乘法运算规则的口诀各有100 条, 根据交换率去掉重复项, 也各有55条.用计算机的电路实现這么多运算规则是很复杂的.
相比之下, 二进制的算术运算规则非常简单, 加法、乘法各仅四条:
0+0=0 0×0=0
0+1=1 0×1=0
1+0=1 1×0=0
1+1=10 1×1=1
根据交换率去掉重复项, 实际各仅3条.用计算机的脉冲数字电路是很容易实现的.
3.用二进制容易实现逻辑运算
计算机不仅需要算术运算功能, 还应具备逻辑运算功能, 二进制的0, 1分别可用來表示假(F)和真(T), 用布尔代数的运算法则很容易实现逻辑运算.
4.二进制的弱点可以克服
二进制主要的弱点是表示同样大小的数值时, 其位数比十进制或其它数制多得多, 难写难记, 因而在日常生活和工作中是不便使用的.但這个弱点对计算机而言, 并不构成困难.在计算机中每个存储记忆元件(比如由晶体管组成的触发器)可以代表一位数字, "记忆"是它們本身的属性, 不存在"记不住"或"忘记"的问题.至於位数多, 只要多排列一些记忆元件就解决了, 鉴於集成电路芯片上元件的集成度极高, 在体积上不存在问题.对於电子元、器件, 0 和1两种状态的转换速度极快, 因而运算速度是很高的
十进制与二进制转换之相互算法
十进制转二进制:
用2辗转相除至结果为1
将余数和最后的1从下向上倒序写 就是结果
例如302
302/2 = 151 余0二进制转换方法的口诀
151/2 = 75 余1
75/2 = 37 余1
37/2 = 18 余1
18/2 = 9 余0
9/2 = 4 余1
4/2 = 2 余0
2/2 = 1 余0
故二进制为100101110
二进制转十进制
从最后一位开始算,依次列为第0、1、2...位
第n位的数(0或1)乘以2的n次方
得到的结果相加就是答案
例如:01101011.转十进制:
第0位:1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然后:1+2+0
+8+0+32+64+0=107.
二进制01101011=十进制107. -----------------------二进制中最后一个数字是一,转换成十进制则是基数。
一、二进制数转换成十进制数
由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十
进制加法规则求和。这种做法称为"按权相加"法。
二、十进制数转换为二进制数
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。
1. 十进制整数转换为二进制整数
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
2.十进制小数转换为二进制小数
十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
回答者:HackerKinsn - 试用期 一级 2-24 13:31
1.二进制与十进制的转换
(1)二进制转十进制<BR>方法:"按权展开求和"
例:
(1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10
=(8+0+2+1+0+0.25)10
=(11.25)10
(2)十进制转二进制
· 十进制整数转二进制数:"除以2取余,逆序输出"
例: (89)10=(1011001)2
2 89
2 44 …… 1
2 22 …… 0
2 11 …… 0
2 5 …… 1
2 2 …… 1
2 1 …… 0
0 …… 1
· 十进制小数转二进制数:"乘以2取整,顺序输出"
例:
(0.625)10= (0.101)2
0.625
X 2
1.25
X 2
0.5
X 2
1.0
二进制数
二进制是逢2进位的进位制,0、1是基本算符。
现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制(Binary)数用0和1两个数字及其组合来表示任何数。进位规则是“逢2 进1”,数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。
除了数值外,英文字母、符号、汉字、声音、图象等数据在计算机内部也采用二进制数的形式来编码。目前最常用的是使用国际标准代码ASCII码(美国标准信息交换码)。汉字在计算机内部也是以二进制数代码形式表示的。由于汉字量多,1981年,我国国家标准GB2312--80(信息交换用汉字编码字符集——基本集)为6763个常用汉字规定了代码,每个汉字占两个字节,每个字节用八位二进制数来表示。1995年又颁布了《汉字编码扩展规范》(GBK)。GBK与GB2312--80国家标准所对应的内容标准兼容,同时,在字汇一级支持 ISO/IEC10646--1和GB13000--1的全部中、日、韩(CJK)汉字,共计20902字。把文字、图形、图象、声音、动画等信息,变成按一定规则编码的二进制数,这就是信息的数字化。
[编辑]
二进制四则运算规则
加法 0+0=0,0+1=1+0=1,1+1=10
减法 0-0=0,1-0=1,1-1=0,0-1=-1 10100-1010=1010
乘法 0×0=0,0×1=1×0=0,1×1=1
除法 0÷1=0,1÷1=1
只有0和1两个数码,基数为二。
十进制数与二进制数转换:
十进制数 二进制数
0 0
1 1
2 10
3 11
4 100
5 101
…… ……
1101101=(从右往左数)1+0×2+1×2ˆ2+1×2ˆ3+0×2ˆ4+1×2ˆ5+1×2ˆ6
=1+4+8+32+64
=109
1个二进制位称为bit,bit是表示数据的最小单位。
二进制编码
在日常生活中,我们常常使用各种编码,如省份证号码、电话号码、等,这些编码都是由十进制数组成的。
同理,在计算机中采用由若干位二进制数组成的编码【简称二进制编码】来表示字母、符号、汉字、颜等非数值信息。
为了表示不同类型的信息,人们研究出了各种各样的编码方案。其中,ASCII码就是被普遍采用的一个字符信息编码方案,它用8位二进制数表示各种字母和符号,例如:
01000001表示A 01000010表示B
00111111表示? … …
汉字字数较多,因此目前用16位二进制数表示常用的汉字,例如:
10100111 11000000 表示“青”
10010101 10011010 表示“岛”
8个二进制位称为一个字节【Byte,简称为B】。字节是最基本的信息储存单位,一个字节可以储存一个英文字母或符号编码,两个字节可以储存一个汉字编码。
同二进制数一样,二进制编码也是计算机内部用来表示信息的一种手段,人们平时和计算机打交道时,根本不用理它。我们仍然用人们习惯的方式输入或者输出信息,期间的转换则由计算机自动去完成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论