Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3340747
  • 博文数量: 1450
  • 博客积分: 11163
  • 博客等级: 上将
  • 技术积分: 11101
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-25 14:40
文章分类

全部博文(1450)

文章存档

2017年(5)

2014年(2)

2013年(3)

2012年(35)

2011年(39)

2010年(88)

2009年(395)

2008年(382)

2007年(241)

2006年(246)

2005年(14)

分类: C/C++

2007-03-10 00:05:00

1.2 数制和码制
1 . 2 . 1数 制
一、十进制
1、表示法


与同学讨论二、八、十六进制的表示方法及特点

二、二进制

三、八进制和十六进制
1.八进制
逢八进一;系数0~7 ;基数8; 权8 n。
2.十六进制
逢十六进一;系数:0~9、A、B、C、D、E、F;基数16;权16n。


表1.2.1 十进制、二进制、八进制、十六进制对照表
 

1 . 2 . 2 不同数制间的转换
一、各种数制转换成十进制
二进制、八进制、十六进制转换成十进制时,只要将它们按权展开,求出各加权系数的和,便得到相应进制数对应的十进制数。
例:

二、十进制转换为二进制
将十进制数的整数部分转换为二进制数采用“除2取余法”;
将十进制小数部分转换为二进制数采用“乘2取整法”。
例1.1.1将十进制数(107.625)10转换成二进制数。
将十进制数的整数部分转换为二进制数采用“除2取余法”,它是将整数部分逐次被2除,依次记下余数,直到商为0。第一个余数为二进制数的最低位,最后一个余数为最高位。
解:① 整数部分转换


所以,
②小数部分转换
将十进制小数部分转换为二进制数采用“乘2取整法”,它是将小数部分连续乘以2,取乘数的整数部分作为二进制数的小数。
由此可得十进制数(107.625)10对应的二进制数为
(107.625)10=(1101011.101)2

三、二进制与八进制、十六进制间相互转换
1.二进制和八进制间的相互转换
(1) 二进制数转换成八进制数。
二 进制数转换为八进制数的方法是:整数部分从低位开始,每三位二进制数为一组,最后不足三位的,则在高位加0补足三位为止;小数点后的二进制数则从高位开 始,每三位二进制数为一组,最后不足三位的,则在低位加0补足三位,然后用对应的八进制数来代替,再按顺序排列写出对应的八进制数。
例1.1.2 将二进制数(11100101.11101011)2转换成八进制数。
(11100101.11101011)2=(345.726)8

(2) 八进制数转换成二进制数。
将每位八进制数用三位二进制数来代替,再按原来的顺序排列起来,便得到了相应的二进制数。
例1.1.3 将八进制数(745.361)8转换成二进制数。
(745.361)8= (111100101.011110001)2

2.二进制和十六进制间的相互转换
(1) 二进制数转换成十六进制数。
二进制数转换为十六进制数的方法是:整数部分从低位开始,每四位二进制数为一组,最后不足四位的,则在高位加0补足四位为止;小数部分从高位开始,每四位二进制数为一组,最后不足四位的,在低位加0补足四位,然后用对应的十六进制数来代替,再按顺序写出对应的十六进制数。
例1.1.4 将二进制数(10011111011.111011)2转换成十六进制数。
(10011111011.111011)2=(4FB.EC)16

(2)十六进制数转换成二进制数。
将每位十六进制数用四位二进制数来代替,再按原来的顺序排列起来便得到了相应的二进制数。
例1.1.5 将十六进制数(3BE5.97D)16转换成二进制数。
(3BE5.97D)16=(11101111100101.100101111101)2

1.2.3 二进制代码
讨论:码的作用;BCD码。
一、二-十进制代码
将十进制数的0~9十个数字用二进制数表示的代码,称为二-十进制码,又称BCD码。


表1.2.2 常用二-十进制代码表(重点讲解8421码、5421码和余3码)


 

注意:含权码的意义。

二、可靠性代码
1.格雷码


表1.2.3 格雷码与二进制码关系对照表

 

2.奇偶校验码
为了能发现和校正错误,提高设备的抗干扰能力,就需采用可靠性代码,而奇偶校验码就具有校验这种差错的能力,它由两部分组成。


表1.2.4 8421奇偶校验码


作业:P10 2.(1)(3)3.(1)(3)4. (4)5. (4)6. (4)
7.(4)

阅读(1596) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~