第2章-计算机中的数据表示方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章计算机中数据的表示法2019年10月20日星期日第1页2.1计数制及其相互转换2.2计算机中数值数据的表示2.3计算机中带符号数的表示2.4计算机非数值数据的编码2.5数据校验码第2章计算机中数据的表示法2019年10月20日星期日第2页2.1计数制及其相互转换2.1.1计数制计数制是计数的方式方法。按进位原则进行计数的方法称为进位计数制,简称进位制。数据无论是哪种进位制,都包含两个要素:基数(Radix)和位权(Weight)。基数是某种计数制中允许的数字符号的个数。在R进制数中,基数为R,即包含R个不同的数字符号,每个数位计满R就向高位进1,即逢R进1。每个数字符号所表示的数值等于该数字符号值乘以一个与数码位置有关的常数,这个常数叫位权,简称“权”。第2章计算机中数据的表示法2019年10月20日星期日第3页【例2.1】在十进制计数制中,123.45可以表示为按权展开的多项式和的形式:2101210510410310210145.123一般R进制数表示为:mniiimmnnnnRRKRKRKRKRKRKRKRKN1221100112211其中:R—基数,表示进制。Ki—数字符号,是0、1、……、R-1中的任何一个。i—位序号。Ri—位权。m,n均为正整数。第2章计算机中数据的表示法2019年10月20日星期日第4页2.1.2计算机中常用的进位计数制为了区分各进制数,在数字后面加一个字母来标识。二进制用B(Binary)八进制用Q(Octal)(为防止字母O与数字0混淆,使用Q表示)十六进制用H(Hexdecimal)十进制用D(Decimal)(通常省略)1.十进制对任意一个十进制数N可表示为:第2章计算机中数据的表示法2019年10月20日星期日第5页mniiimmnnnnKKKKKKKKN1221100112211101010101010101010基数R=10,数字符号Ki为0、1、2、……、9。采用“逢十进一”计数。2.二进制计算机内部对各种各样的数据、操作命令、存储地址等都使用二进制码表示。这是因为二进制数字系统有几方面优点:第2章计算机中数据的表示法2019年10月20日星期日第6页二进制码物理上容易实现。可用电位高、低,脉冲有、无,正、负极性,开关的开、合,器件的两个稳态等来表示二进制数位上的“0”和“1”。二进制数运算规则简单。可用开关电路实现。二进制码的0和1正好与逻辑代数的0、1吻合,可方便进行逻辑运算。二进制与十进制、八进制、十六进制的转换关系简单。第2章计算机中数据的表示法2019年10月20日星期日第7页对任意一个二进制数N可表示为:mniiimmnnnnKKKKKKKKN1221100112211222222222基数R=2,数字符号Ki为0、1。采用“逢二进一”计数。【例2.2】写出二进制数1001.11B的多项式形式。2101232212121202021)11.1001(3.八进制八进制与二进制有一种特殊关系,即3位二进制码表示一位八进制码,。第2章计算机中数据的表示法2019年10月20日星期日第8页对任意一个八进制数N可表示为:mniiimmnnnnKKKKKKKKN1221100112211888888888基数R=8,数字符号Ki为0、1、2、3、4、5、6、7。采用“逢八进一”计数。【例2.3】写出八进制数3525.76Q的多项式形式。2101238868785828583)76.3525(4.十六进制十六进制采用“逢十六进一”计数。第2章计算机中数据的表示法2019年10月20日星期日第9页mniiimmnnnnKKKKKKKKN1221100112211161616161616161616基数R=16,数字符号Ki为0、1、2、……、9、A、B、C、D、E、F。【例2.4】写出十六进制数9A5D.7EH的多项式形式。21012316161416716131651610169)7.59(EDA常用几种进位计数制从0~16的表示方法列于表2-1。对任意一个十六进制数N可表示为:第2章计算机中数据的表示法2019年10月20日星期日第10页表2-1常用进位计数制从0~16的表示00000001000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F16100002010十进制数十六进制数二进制数八进制数第2章计算机中数据的表示法2019年10月20日星期日第11页2.1.3不同进制数之间的转换1.十进制数转换为二进制数十进制数转换为二进制数应该将整数部分和小数部分分别进行转换。(1)十进制整数转换成二进制整数,通常采用除2取余法。所谓除2取余法,就是将已知的十进制数反复除以2,每次取其余数,若得到的余数为1,则对应二进制数的相应位为1,若得到的余数为0,则对应二进制数相应位为0,第一次得到的余数是二进制数的最低位,最后一次余数是二进制数的最高位,从低位到高位逐次进行,直至商为0为止。第2章计算机中数据的表示法2019年10月20日星期日第12页【例2.5】将215D转换成二进制数。所以有:215D=11010111B。215107222......余1,k0=1......余1,k1=153......余1,k2=1......余0,k3=0......余1,k4=1......余0,k5=0......余1,k6=12613631022222......余1,k7=1第2章计算机中数据的表示法2019年10月20日星期日第13页所谓乘2取整法,就是将已知的十进制纯小数部分反复乘以2,每次取其整数,若得到的整数为1,则对应二进制数的相应位为1,若得到的整数为0,则对应二进制数相应位为0,第一次乘2得到的整数是二进制数的最高位,从高位到低位逐次进行,直至满足精度要求或乘2后的小数部分为0为止。设最后一次乘2所得的整数为K-m,转换后,所得的纯二进制小数为0.K-1K-2……K-m。(2)十进制纯小数转换成二进制纯小数,通常采用乘2取整法。第2章计算机中数据的表示法2019年10月20日星期日第14页【例2.6】将0.725D转换成纯二进制小数。0.725×21.450取1K-10.450×20.900取0K-2×21.800取1K-30.800×21.600取1K-4如果取4位小数能满足精度要求,则有:0.725D≈0.1011B。第2章计算机中数据的表示法2019年10月20日星期日第15页混合小数由整数和小数复合而成,需要将整数部分和小数部分分别进行转换,然后将转换结果组合起来即可。【例2.7】将215.725D转换为二进制数。解:如上求得215D=11010111B0.725D≈0.1011B则215.725D≈11010111.1011B(3)十进制混合小数转换为二进制数第2章计算机中数据的表示法2019年10月20日星期日第16页2.二进制数转换为十进制数将二进制数转换为十进制数,只需要将二进制数按位权展开求和,便得到相应的十进制数。5625.270625.05.0128162120202121212021211001.11011432101234B【例2.8】将二进制数11011.1001B转换为十进数。3.R进制数与十进制数转换由如上转换可知,R进制数转换为十进制数的方法即是将所给的R进制数用按位权展开式展开并求和既可。第2章计算机中数据的表示法2019年10月20日星期日第17页十进制数转换为R进制数仍然是将整数部分和小数部分分别进行转换。整数部分采用除R取余法;小数部分采用乘R取整法。转换的过程和十进制整数转换成二进制整数相同。75.7875.0146416121614164.4101CHE【例2.9】将十六进制数4E.CH转换为十进制数。4.R进制数转换为K进制数借助于任意进制数与十进制数的转换,可以进行R进制数与K进制数的转换。即先将R进制数转换成十进制数,然后再将十进制数转换成K进制数。第2章计算机中数据的表示法2019年10月20日星期日第18页5.二进制与八进制、十六进制间的转换二进制与八进制、十六进制间的转换可以用上述办法进行,另外还有更简捷的转换方法。(1)二进制与八进制间的转换由于有这个关系,即每三位二进制数对应一位八进制数,所以二进制数转换成八进制数的方法是:以小数点为界,分别向左、右将二进制数每三位分为一组,若不够三位时,可在最高位的左边,或在小数的最右边添0,补足三位(不影响原数值的大小),然后将每三位二进制数用一位八进制数表示即可完成转换。第2章计算机中数据的表示法2019年10月20日星期日第19页001101110.010011100156234即1101110.0100111B=156.234Q【例2.10】把二进制数1101110.0100111B转换为八进制数。八进制数转换成二进制数的方法是:将一位八进制数用相应的三位二进制数代替既可完成转换。第2章计算机中数据的表示法2019年10月20日星期日第20页643.57110100011.101111即643.57Q=110100011.101111B【例2.11】把八进制数643.57Q转换成二进制数。(2)二进制与十六进制间的转换根据这个关系,即每四位二进制数对应一位十六进制数。仿照二进制与八进制间的转换方法,可以进行二进制数与十六进制数的转换。第2章计算机中数据的表示法2019年10月20日星期日第21页001110110111.110100103B7.D2即1110110111.1101001B=3B7.D2H【例2.12】将1110110111.1101001B转换成十六进制数。第2章计算机中数据的表示法2019年10月20日星期日第22页1.加法运算规则:0+0=00+1=11+0=01+1=0(进位)【例2.13】计算011011B+010001B=?解01101127+010001验算+1710110044所以011011B+010001B=101100B2.1.4二进制数的运算规则第2章计算机中数据的表示法2019年10月20日星期日第23页0-0=00-1=1(借位)1-0=11-1=0【例2.14】计算10011B-00101B=?解1001119-00101验证-50111014所以10011B-00101B=01110B2.减法运算规则:第2章计算机中数据的表示法2019年10月20日星期日第24页0×0=00×1=01×0=01×1=1【例2.15】计算1011B×1001B=?解101111×1001×91011验算990000000010111100011所以1011B×1001B=1100011B3.乘法运算规则:第2章计算机中数据的表示法2019年10月20日星期日第25页可以用乘法和减法规则完成。【例2.16】设A=100111,B=101010求Y=A∧B解100111∧101010100010所以A∧B=100111∧101010=1000105.与运算规则:0∧0=00∧1=01∧0=01∧1=14.除法运算:第2章计算机中数据的表示法2019年10月20日星期日第26页0∨0=00∨1=11∨0=11∨

1 / 82
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功