版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上节内容回顾 单片机的概念 微型计算机的组成及简要工作原理 MCS51单片机简介第二章 数制2.1 数制数制:各种进位计数制,如十进制表示方法中,遵循“逢十进一”的原则。常见的数制包含:十进制二进制八进制十六进制2.1.1 十进制十进制为日常生活中常用的数制,具有特点:包含10个有序的符号09。基数R为10,即“逢十进一”的进位原则。其英文名称为Decimal System,简称D。例如十进制数2187.74可表示为: (2187.74)D = 2103+1102+8101+7100+710-1+410-2其中:103、102、101、100、10-1、10-2为不同位置的权。任意十进制数都可
2、展开为按权展开式: iiiDKN10)(2.1.2 二进制二进制为计算机中采用的数制,具有特点:仅包含2个符号0和1。基数R为2,即“逢二进一”的进位原则。按权展开的表达式为其英文名称为Binary system ,简称B。iiiBKN2)(【例1】(1101)B =123+122+021+120=(13)D【例2】(0.101)B = ?二进制的运算规则运算方法运算情况加法0+0=00+1=11+0=11+1=0(C=1)减法0+0=00-1=1(C=1)1-0=11-1=0乘法00=001=010=011=1除法00非法01=011非法11=1二进制的运算规则较为简单1 1 0 0 1+
3、1 0 11 1 1 1 01 1 0 0 1- 1 0 11 0 1 0 01 1 0 0 1 1 0 11 1 0 0 10 0 0 0 01 1 0 0 1 1 1 1 1 1 0 11 1 0 0 1 1 0 1 1 1 0 1 10 1 1 0 100 1二进制运算举例【例】二进制数A=11001, B=101, 则A+B、A-B、AB、AB【优点】 运算简单、物理实现容易、存储和传送方便、可靠。【缺点】数的位数太长且字符单调,使得书写、记忆和阅读不 方便。 二进制优缺点为了克服二进制的缺点,在进行指令书写、程序输入和输出等工作时,通常采用八进制数和十六进制数作为二进制数的缩写。 【
4、八进制,Octal System】由8个字符07构成,逢八进一。【十六进制,Hexadecimal System】由十个字符09与AF六个字母构成,逢十六进一。2.2 数制间的转换数制二进制(Binary)八进制(Octal)十进制(Decimal)十六进制(Hex)需要解决的问题:各进制之间如何相互转换?十数制与其它数制的转换十进制(D.X)二进制八进制 (n)十六进制整数部分模n取余逆序法小数部分乘n取整正序法数与位权相乘累加其它进制到十进制的转换采用的方法:将非十进制数采用按权展开式进行相加即可得到转换结果。【例2】(136.2)O= (?)D【例3】(BD2.3C)H =(?)D【例1
5、】(10111.11)B= (?) D 解:(10111.11)B = 124+122+121+120+12-1+12-2 =(23.75)D 解:(136.2)O= 182+381+680+28-1=(94.25)D二数制到十数制的转换p举例 将(12.625)10转换成二进制数。1226 023 021 120 1(12)10=(1100)20.6252=1.25 10.252=0.5 00. 52=1.0 1(0.625)10=(0.101)2(12.625)10=(1100.101)2练习:将十进制数11.75转换成二进制数其他方法【观察拼凑法】 对于绝对值较小的数据,通过判断其值的范
6、围,确定组成其值的权位。求248的二进制数据248=255-7=(1111,1111)2-(0000,0111)2=(1111,1000)2求72的二进制数据72=64+8=(1001000)2心得:熟练掌握2i(010)的值。细心,做完后反算进行验算。二进制到八、十六进制的转换 以小数点为中心,向左向右取3或4位转换p举例 将(10101110.11000010)2转换成八进制和十六进制数。10 101 110 .110 000 10二八进制6520600410101110.1100 0010二十六进制EAB2C 【练习】将十进制数65535转换为十六进制数。 2.3 有符号二进制数的表示方
7、法如:纯小数-0.0110可表示成1.0110计算机只识别“0”和“1”,数据的符号位怎么表示?1表示负号,0表示正号。自然界中一个数据在计算机中的表示形式称为“机器数”,而数据本身称之为“真值”。真值与机器数概念p在计算机中表示的带符号的二进制数称为“机器数”。p机器数是将符号“数字化”的数据表示方式。p机器数主要有三种表示方式:原码、补码和反码。p将带“+”或“-”符号的数称为“真值”。 通常为正负号(+,-)后紧跟绝对值表示,如+3,-9在进行运算时,原码的符号位不参与运算,而补码和反码的符号位参与运算。原码表示法【原码, true form】机器数的最高位为符号位,0表示正数,1 表示
8、负数,数值以绝对值的形式紧跟其后。原码表示法【举例】给定X=+1011001,求X的原码。 解:X为正数,故X原=01011001给定Y=-1100101,求Y的原码。 解:Y为负数,故Y原=111001010的原码是多少呢?+0原=0000 -0原=1000 0的原码有两种形式原码表示法【原码加减法步骤】两数相加若同号,则直接相加;两数相加若异号,则要进行减法;减法时,需要比较两数绝对值大小,大数减去小数,以绝对值大的数确定符号。设X=+1001,Y=+0010,求X+Y原。 解:X原=01001, Y原=00010则X+Y原=X原+Y原 =01001+00010=01011设X=+1001
9、,Y=-0010,求X+Y原。 解:X原=01001, Y原=10010 X原+Y原 =01001+10010 =11011(-11)10因为|X|Y|, 有|X|-|Y| =1001-0010 =0111 X+Y原=00111反码表示法【反码 , ones complement 】机器数的最高位为符号位,0表示正数,1 表示负数。若为正数,数值以绝对值的形式紧跟其后;若为负 数,数值则以绝对值的相反数 紧跟其后。反码表示法【举例】给定X=+1011001,求X的反码。 解:X为正数,故X反=01011001给定Y=-1100101,求Y的反码。 解:Y为负数,故Y反=100110100的反码
10、是多少呢?+0反=0000 -0反=1111 反码表示法【反码加减法步骤】两数无论同异号,可直接相加减;两数相加时,最高位若有进位,需要在最低位+1;两数相减时,最高位若有借位,需要在最低位-1。设X=+1001,Y=+0010,求X+Y反。 解:X反=01001, Y反=00010则X+Y反反=X反反+Y反反 =01001+00010=01011设X=+1001,Y=-0010,求X+Y反。 解:X反=01001, Y反=11101 X反反+Y反反 =01001+11101 =100110=(+6)10因为有进位,需要在最低位加1 X+Y反反=00110+1=00111反码表示法【课堂练习】
11、设X=-1001,Y=-0010,求X+Y反。 解: X反=10110, Y反=11101 X+Y反反=X反反+Y反反 =10110+11101 =10100-1011(-11)10设X=+1001,Y=-0010,求X-Y反。解: X反=01001, Y反=11101 X-Y反反=X反反-Y反反 =01001-11101 =01011+1011(11)10 10110 +11101= 110011 + 1 = 10100 01001 - 11101= 101100 - 1 = 01011练习 给定X=+27,Y=-56,分别用8位机器数的原码和反码表示(含1位符号位,数据位为7位,结果用十六
12、进制数表示)。并完成X反+Y反的操作。补码表示法【补码, twos complement】机器数的最高位为符号位,0表示正数,1 表示负数。若为正数,数值以绝对值的形式紧跟其后;若为负 数,则在反码的基础上+1。补码表示法【举例】给定X=+1011001,求X的补码。 解:X为正数,故X补=01011001给定Y=-1100101,求Y的补码。 解:Y为负数,故Y补=100110110的补码是多少呢?+0补=0000 -0补=0000 补码加减法【补码加减法步骤】用补码表示的两数进行加法运算,结果仍为补码 ; X+Y补=X补+Y补 ; X-Y补=X补+-Y补 ;符号位与数值位一起参与运算。补码
13、加减法【举例】给定X=-1010,Y=+0101,求X+Y。 解:X+Y补=X补+Y补 =10110+00101 =11011-0101(-5)10给定X=-1010,Y=0101,求X-Y。 解: X-Y补=X补+-Y补 =10110+11011 =10001-1111(-15)10原、反、补码间变换若为正数,则有X原=X反=X补。若为负数,则有:符号位保持不变;原码转换成反码,数值位逐位取反;反码转换成补码,数值位+1;原码与补码间转换,取反+1。已知已知x原原=10100101,则,则x补补=11011011举例1011011 1不同码制之间对照无符号数真值原码反码补码00000 000
14、00000 00000000 000010000 00010000 00010000 00011260111 11100111 11100111 11101270111 11110111 11110111 1111-01000 00001111 11110000 0000-11000 00011111 11101111 1111-1271111 11111000 0000100000002.4 几种常见的编码在计算机中,用纯二进制序列表示自然界中的数据时,可能存在的问题:用二进制表示一个数据,长度超出容忍的范围,例如(1026)10=(10000000010)2,不
15、方便记忆和转换。二进制序列在传输过程中,可能受干扰出错,能否降低出错的概率?如何自动对出错数据进行检测和修正。2.4.1 BCD码BCD码:用4位二进制代码对十进制数字符号进行编码,简称为二十进制代码,或称BCD (Binary Coded Decimal)码。常用的BCD码有8421码、余3码等。8421码8421码:是用4位二进制码表示一位十进制字符的一种有权码,4位二进制码从高位至低位的权依次为23、22、21、20,即为8、4、2、1,故称为8421BCD码,简称8421码。 从上表可知按8421码编码的09与用4位二进制数表示的09完全一样。所以,8421码是一种人机联系时广泛使用的
16、中间形式。十进制01234567898421码 0000 0001 0010 0011 0100 0101 0110 0111 1000 10011010、1011、1100、1101、1110、1111为非法编码。8421码 8421码与二进制数表示数据的区别 分别用8421码和二进制来表示十进制数据28【例】 (28)10 = (11100)B=(0010 1000)8421码? 新的问题出现了 8421码的加减法BCD运算6+7=130110+ 0111 1101修正+ 0110 1 0011000 解决方法 余三码可以解决运算过程中的问题p 当两个1位BCD相加之和小于(1001)2即
17、(9)10时,无需修正;p 相加之和大于9时,需要进行加6修正且向高位进位。余三码余三码:由8421码加上0011形成的一种无权码,由于它的每个字符编码比相应的8421码多3,故称为余三码。是BCD码的一种。 十进制0123456789余三码 0011 0100 0101 0110 0111 1000 1001 1010 1011 11000000、0001、0010、1101、1110、1111为非法编码。【例】 (256)10 = (0101 1000 1001)余3码 (1000 1001 1001 1011)余3码 = (5668)10 余三码余三码的运算 两个余三码表示的十进制数字相
18、加时,能产生正确进位信号,但对“和”必须修正。修正的方法是:如果有进位,则结果加3;如果无进位,则结果减3。2.4.2 可靠性编码作用: 提高系统的可靠性。代码在形成和传送过程中都可能发生的错误。为了减少或者发现这种错误,形成了各种编码方法。介绍两种常用的可靠性编码。 格雷码奇偶校验码格雷码格雷(Gray)码 特点:任意两个相邻的数,其格雷码仅有一位不同。 作用:避免代码形成或者变换过程中产生的错误。数据格雷码数据格雷码0000000010001100000100011001110100100011101011110011001010111110010001101100101001010111
19、1101101101100101111010010111010011111000四位二进制数的格雷码格雷码ABCD左图中,传输的四位数据在7跳变到8时,相应的二进制数据从01111000,对应到每条数据线上均会发生电平的反转,可能造成干扰。 格雷码的设计原则即是保证相邻数据中仅有1位不同。 由二进制转换成格雷码的方法,从二进制最低位开始,所有相邻两位异或,最高位保留,得到的即是格雷码。练习 求二进制数据011100110101B对应的格雷码。数据校验码 r解决办法采用可靠器件;提高计算机抗干扰能力;采用更好的编码方式。采用数据校验码发现并纠正错误。无法完全避免发送数据校验码产生电路校验电路接收
20、数据发送端接收端传输途径数据校验码原理 现有4位二进制数据。正常情况下 可以表示16个数据,且均为有效编码。若错一位或多位,会转换成另外一个正确数据。增加校验码的情况下datadatadatadata00000100 1000110000010101 1001110100100110 101011100011011110111111 采用奇校验方式。最高位为校验码,后三位为数据位,四位数据中保证数字1的个数为奇数个。上表中红色字即为非法编码。数据校验码定义 【数据校验码】在数据的特定位置插入1位或多位的二进制数据,起到发现错误和纠正错误作用的编码。 常见的数据校验码包括:奇偶校验码海明码CRC
21、冗余校验码奇偶校验码奇校验:整个传送数据(数据+校验码)中1的个数为奇数个;偶校验:整个传送数据(数据+校验码)中1的个数为偶数个。011xxnxC偶011xxnxC奇有效信息位XC奇偶校验位n位1位数据奇校验偶校验101010111010101010101011111111011111111111111100000001000000000000000110101101101011111010112.5 二进制运算中的一些问题 运算的结果超出表示范围怎么办 如何检测这种情况 什么叫移位加减法运算的溢出处理当运算结果超出机器数表示的范围时,称为溢出。 负+负,负-正,正+正,正-负 可能产生溢出定点整数补码表示的范围0+2n-1-2n数轴正溢出负溢出加减法运算的溢出处理补码运算举例1+7=800001+ 0011101000无溢出12+7=1901100+ 0011110011正溢出(-9)+(-5)=-1410111+ 11011110010无溢出(-12)+(-7)=-1910100+ 11001101101负溢出最简单判溢出方法:利用双符号判
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧教育云平台在职业教育与终身教育中的学习资源开发与利用策略研究教学研究课题报告
- 2026云南红河州弥勒市紧密型县域医共体江边分院招聘合同制护士及办公室人员3人备考题库及答案详解(各地真题)
- 2026江西汉普医疗科技有限公司招聘备考题库及完整答案详解1套
- 2026年长春市朝阳区事业单位公开招聘工作人员(含专项招聘高校毕业生)面试备考题库及答案详解(基础+提升)
- 2026湖北武汉市华中师范大学校友工作办公室实习生招聘备考题库附答案详解
- 2026吉林体育学院招聘高层次和急需紧缺人才备考题库(1号)及答案详解参考
- 2026福建漳州市龙海区补招聘船管员4人备考题库附答案详解(精练)
- 2026浙江金华义乌市文化旅游发展有限公司招聘10人备考题库及答案详解(考点梳理)
- 2026甘肃甘南州舟曲县招聘乡村医生33人备考题库及答案详解(网校专用)
- 2026广东佛山南海区狮山镇显纲小学招聘教师1人备考题库及1套参考答案详解
- 2026年广西真龙彩印包装有限公司笔试题及答案
- (2026年)低钾血症诊治与管理专家共识解读
- 河南资本集团笔试题库
- 2026湖北神农架林区公安局招聘辅警22人笔试备考试题及答案解析
- 2026菏泽特殊教育职业学校公开招聘人员(2人)考试模拟试题及答案解析
- 全国数据资源调查报告(2025年)
- 2026年ESG(可持续发展)考试题及答案
- 2026年防治碘缺乏病日宣传课件
- 身骑白马 SSA 三声部合唱谱
- 2026年高级社会工作师押题宝典题库及1套完整答案详解
- 2026年辅警转正考试时事政治试题及答案
评论
0/150
提交评论