数制及数制转换案例分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数制及数制转换案例分析
1.几种常用的计数体制
日常生活中最常使用的是十进制数(如563),但在数字系统中特别是计算机中,多采用二进制、十六进制,有时也采用八进制的计数方式。无论何种记数体制任何一个数都是由整数和小数两部分组成的。
1) 十进制数(Decimal)
(1) 当所表示的数据是十进制时,可以无须加标注意,即十进制数576可以表示为:
(576)10=576
(2) 特点如下。
①由10个不同的数码0、1、2、…、9和一个小数点组成。
②采用“逢十进一”的运算规则。
例如(213.71)10=2×102+1×101+3×100+7×10-1+1×10-2
102、101、100、10-1、10-2 称为权或位权,10为其计数基数。
在实际的数字电路中采用十进制十分不便,因为十进制有十个数码,要想严格的区分开必须有十个不同的电路状态与之相对应,这在技术上实现起来比较困难。因此在实际的数字电路中一般是不直接采用十进制的。
2) 二进制数(Binary)
(1) 表示:(101.01)2
(2) 特点如下。
①由两个不同的数码0、1 和一个小数点组成。
②采用“逢二进一、借一当二”的运算规则。
3) 八进制(Octal)
(1) 表示:(106.4)8
(2) 特点如下。
①由8 个不同的数码0、1、2、3、4、5、6、7和一个小数点组成。
②采用“逢八进一、借一当八”的运算规则。
4) 十六进制(Hexadecimal)
(1) 表示:(2A5)6
(2) 特点如下。
①由16 个不同的数码0、1、2、…、9、A、B、C、D、E、F 和一个小数点组成,其中A~F 分别代表十进制数10~15。
②采用“逢十六进一、借一当十六”的运算规则。
2.数制转换
十进制数符合人们的计数习惯且表示数字的位数也较少;二进制适合计算机和数字系统
表示和处理信号;八进制、十六进制表示较简单且容易与二进制转换。因此在实际工作中,经常会遇到各种计数体制之间的转换问题。
1) 各进制转换为十进制
法则:各位乘权求和
(1) 二进制转换为十进制。
二进制转换为十进制时只要写出二进制的按权展开式,然后将各项数值按十进制相加,就可得到等值的十进制数。
例:将二进制数(1011.01)2转换为十进制数。
(101.01)2=1×22+0×21+1×20+0×2-1+1×2-2 =(5.25)10其中22、21、20、2-1、2-2为权,2 为其计数基数。
尽管一个数用二进制表示要比用十进制表示位数多得多,但因二进制数只有0、1两个数码,适合数字电路状态的表示,例如用二极管的开和关表示0 和1、用晶体管的截止和饱和表示0和1,电路实现起来比较容易。
(2) 八进制转换为十进制。
八进制转换为十进制时只要写出八进制的按权展开式,然后将各项数值按十进制相加,就可得到等值的十进制数。
例:(106.4)8=1×82+0×81+7×80+4×8-1 =(71.5)10
其中82、81、80、8-1为权,每位的权是8的幂次方,8为其计数基数。
八进制较之二进制表示简单,且容易与二进制进行转换。
(3) 十六进制转换为十进制。
十六进制转换为十进制时只要写出二进制的按权展开式,然后将各项数值按十进制相加,就可得到等值的十进制数。
例:(BA3.C)16=B×162+A×161+3×160+C×16-1
=11×162+10×161+3×160+12×16-1
=(2979.75)10
其中162、161、160、16-1为权,每位的权是16的幂次方,16为其计数基数。十六进制较之二进制表示简单,且容易与二进制进行转换。
2) 十进制转换为各进制
法则:整数部分:除基逆续取余。
小数部分:乘基顺序取整。
以十进制转换为二进制为例,其他各进制转换方式相同。
十进制转换为二进制分为整数部分转换和小数部分转换,转换后再合并。
以十进制数(35.325)10转换成二进制数为例。
(1) 小数部分转换——乘2取整法。
基本思想:将小数部分不断的乘2取整数,直到达到一定的精确度。
将十进制的小数0.325 转换为二进制的小数可表示如下。
0.325×2=0.65
0.65×2=1.30
0.3×2=0.6
0.6×2=1.2
可见小数部分乘2取整的过程不一定使最后的乘积为0,这时可以按一定的精度要求求近似值。本题中精确到小数点后4位,则(0.325)10=(0.0101)2
(2) 整数部分转换——除取余法。
基本思想:将整数部分不断的除2取余数,直到商为0。
将十进制整数35转换为二进制整数可表示如下。
则:(35)10=(100011)2
最后结果为:(35.325)10=(100011.0101)2
3) 二进制与八进制、十六进制之间的转换
(1) 二进制与八进制互换。
二进制转换成八进制数的方法是从小数点开始,分别向左、向右将二进制数按每3位一组分组(不足3位的补0),然后写出每一组等值的八进制数。
例10.4将(11001.110101)2转换为八进制数。
即:(011,001,110,101)2=(31.65)8
(2) 二进制与十六进制互换。
二进制转换成十六进制数的方法是从小数点开始,分别向左、向右将二进制数按每4位一组分组(不足4位的补0),然后写出每一组等值的十六进制数。
例10.5将(11001.110101)2转换为十六进制数。
即:(0001,1001,1101,0100)2=(19.D4)16
八进制与十六进制之间的转换可以通过二进制作中介。