【教学课件】第2章数据的表示和运算.ppt
《【教学课件】第2章数据的表示和运算.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第2章数据的表示和运算.ppt(199页珍藏版)》请在三一办公上搜索。
1、2023/8/6,1,第2章 数据的表示和运算,2.1 数制与编码 2.2 定点数的表示和运算2.3 浮点数的表示和运算 2.4 算术逻辑单元ALU,2023/8/6,2,2.1 数制与编码 2.1.1 进位计数制及其相互转换当使用汇编语言或者高级语言编写程序时,一般都采用十进制形式;有时出于某种需要也采用十六进制形式或者二进制形式来表示。但是在计算机内部,数据的表示、存储和运算均采用二进制形式。进位计数制:又称为数制,即按进位制的原则进行计数。数制由两大要素组成:基数R和各数位的权W。基数R决定了数制中各数位上允许出现的数码个数,基数为R的数制称为R进制数。权W则表明该数位上的数码所表示的单
2、位数值的大小,权W与数位的位置有关。计算机中常用的进位计数制有二进制、八进制、十进制和十六进制。,2023/8/6,3,2.1 数制与编码 2.1.1 进位计数制及其相互转换假设 任意数值N 用 R进制数 来表示,表示形式为n+k个自左向右排列的符号来表示:N=(Dn-1Dn-2D0.D-1D-2D-k)R 式中Di(-kin-1)为该数制采用的基本符号,可取值0,1,2,R-1,小数点隐含在D0与D-1之间,整数部分有n位,小数部分有k位,数值N的实际值为:,2023/8/6,4,2.1 数制与编码 2.1.1 进位计数制及其相互转换十进制(Decimal):基数为10,允许使用的数字有10
3、个(0-9)。主要特点是逢十进一。任意一个十进制数可以表示为:,例如十进制数135.26可以表示为:,2023/8/6,5,2.1 数制与编码 2.1.1 进位计数制及其相互转换二进制(Binary):基数为2,可使用的数字只有0和1,逢二进一。任意一个二进制数可以表示为:,例如二进制数(1100.1011)2可以表示为:,2023/8/6,6,2.1 数制与编码 2.1.1 进位计数制及其相互转换计算机中数据主要以二进制数的形式存储,原因有以下几点:二进制数易于表示,比较容易找到具有二值状态的物理器件来表示数据和实现存储。比如脉冲有无、电压高低等。二进制数运算规则简单,运算过程中的输入状态和
4、输出状态较少,便于使用电子器件和线路加以实现。二进制数的0和1与逻辑推理中的“真”和“假”相对应,为实现逻辑运算和逻辑判断提供了便利。,2023/8/6,7,2.1 数制与编码 2.1.1 进位计数制及其相互转换八进制(Octal):基数为8,可使用的数字有0-7,逢八进一。任意一个八进制数可以表示为:,十六进制(Hexadecimal):基数为16,可使用的数码有0-9和A-F(代表10-15),逢十六进一。任意一个十六进制数可表示为:,2023/8/6,8,2.1 数制与编码 2.1.1 进位计数制及其相互转换非十进制转化为十进制:非十进制数转为十进制数时将非十进制数按权展开,然后求和。【
5、例2.1】将下列非十进制数转化为十进制。,(1207)8=183282081780=512+128+0+7=(647)10(A7)16=(10161+7160)10=(160+7)10=(167)10,2023/8/6,9,2.1 数制与编码 2.1.1 进位计数制及其相互转换十进制转化为非十进制:十进制数转换为非十进制数时需将十进制数整数部分和小数部分分别转换,再将结果写到一起。十进制整数转换为非十进制整数:除R取余法。十进制整数不断除以R,直至商为0。每除一次取一个余数,从低位排向高位。,例:208转换成十六进制数(208)10=(D0)1616 208 余 0 16 13 余 13=DH
6、 0,2023/8/6,10,2.1 数制与编码 2.1.1 进位计数制及其相互转换十进小数转换为非十进制小数:乘R取整法。用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。,例:0.625转换成二进制数 0.625 2 1.25 1(b-1)0.25 2 0.50 0(b-2)0.50 2 1.00 1(b-3),所以(0.625)10=(0.101)2,2023/8/6,11,2.1 数制与编码 2.1.1 进位计数制及其相互转换【例2.2】将(12.6875)10转化为二进制数。,整数部分(12)10=(1100)2,2023/8
7、/6,12,2.1 数制与编码 2.1.1 进位计数制及其相互转换【例2.2】将(12.6875)10转化为二进制数。,小数部分(0.6875)10=(0.1011)2.所以(12.6875)10=(1100.1011)2,2023/8/6,13,2.1 数制与编码 2.1.1 进位计数制及其相互转换【课堂练习】将(105.3125)10转化为二进制数。,(105.3125)10=(1101001.0101)2,2023/8/6,14,2.1 数制与编码 2.1.1 进位计数制及其相互转换二进制、八进制与十六进制的转换:3位二进制数组成1位八进制数,4位二进制数组成1位十六进制数二进制转换为八
8、进制:从小数点开始,向两边每3位为一组,整数部分不足3位在前面补“0”,小数部分不足3位在后面补“0”。八进制转换为二进制:过程相反,每一位八进制数转换为3位二进制编码。二进制转换为十六进制:从小数点开始,向两边每4位为一组,整数部分不足4位在前面补“0”,小数部分不足4位在后面补“0”。十六进制转换为二进制:只需将每一位十六进制数写成它的4位二进制编码即可。八进制与十六进制的转换先转换成二进制,然后再转换为所求的进制数,2023/8/6,15,2.1 数制与编码 2.1.1 进位计数制及其相互转换【例2.3】将(11011.11001)2转化为八进制、十六进制,将(751)8转化为十六进制。
9、,(11011.11001)2=(011 011.110 010)2=(33.62)8(11011.11001)2=(0001 1011.1100 1000)2=(1B.C8)16(751)8=(111 101 001)2=(0001 1110 1001)2=(1 E 9)16,2023/8/6,16,2.1 数制与编码 2.1.2 真值和机器数计算机中的数据可分两类:无符号数和有符号数。无符号数:即没有符号的数,在寄存器中的每一位均可存放数值。有符号数:即带有符号的数,存放时需要留出位置存放符号。符号“正”、“负”需要数字化,一般用“0”表示正号,用“1”表示负号,并将它放在有效数字前面。机
10、器数:符号“数字化”的数真 值:带“+”或“-”符号的数例如,真值是+0.11001,机器数为0.11001;真值为0.11001,机器数为1.11001,2023/8/6,17,2.1 数制与编码 2.1.3 BCD码BCD码:使用二进制数编码来表示十进制数的方法,又叫做二-十进制码。一般用4位二进制编码来表示一个十进制数。常用的BCD码分为有权码和无权码。有权码:每一位都有固定的权值,加权求和的值即为它所表示的十进制数。常用的有权码有8421码、2421码、5211码等,8421码的4位二进制数的权从高到低依次是8、4、2、1。一般提到的BCD码就是指8421码。这种编码的优点是这4位二进
11、制数之间满足二进制的进位规则。,2023/8/6,18,2.1 数制与编码 2.1.3 BCD码在计算机内部实现BCD码算术运算,要对运算结果进行修正。BCD码加法运算修正规则:如果两个一位BCD码相加之和小于或等于(1001)2,即(9)10,不需修正;如相加之和大于或等于(10)10,要进行加6修正,并向高位进位,进位可在首次相加或修正时产生。例如 1+8=9 4+9=13 7+9=16 0 0 0 1 0 1 0 0 0 1 1 1+1 0 0 0+1 0 0 1+1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 1 0 不需修正 加6修正 加6修正,2023/8/6,19,2
12、.1 数制与编码 2.1.3 BCD码其它几种有权码:2421、5211、4311码都采用4位有权的二进制码表示1个十进制数,但这4位二进制之间不符合二进制规则。这几种有权码有一特点:任何两个相加之和等于(9)10的二进制码互为反码。如2421码中,0(0000)与9(1111)、1(0001)与8(1110),互为反码。表 2.1给出了十进制数的几种常见的4位有权码。,2023/8/6,20,2.1 数制与编码 2.1.3 BCD码,表2.1 4位有权码,2023/8/6,21,2.1 数制与编码 2.1.3 BCD码无权码:4位二进制编码的每一位没有固定的权。在采用的无权码的一些方案中,采
13、用的比较多的是余3码,格雷码余3码:把原二进制的每个代码都加0011值得到的。优点是执行十进制数位相加时,能正确产生进位信号,还给减法运算带来了方便。余3码的执行加法运算的规则:当两个余3码相加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送入高位余3码,同时本位加0011的修正操作。格雷码:它的任何两个相邻的编码之间只有1个二进制位的状态不同,其余3个二进制位必须具有相同状态。优点:从一个编码变成下一个相邻编码时,只有1位的状态发生变化,有利于得到更好的译码波形,在模拟/数字转换的电路中得到更好的运行结果。,2023/8/6,22,2.1 数制与编码 2.1.3 BCD码,表
14、2.2 4位无权码,2023/8/6,23,2.1 数制与编码 2.1.4 字符和字符串字符:字母、数码、运算符号、标点符号等,汉字也属于字符。使用计算机的过程必然要涉及字符。由于计算机只能识别0和1两种数码,所以字符也应采用二进制编码。目前经常用的是美国国家信息交换标准字符码,简称ASCII(American Standard Code for Information Interchange)码。ASCII码:7位二进制代码表示一个字符,称为标准或基本ASCII码,如表 2.3所示。,2023/8/6,24,高位b6b5b4,低位b3b2b1b0,7位ASCII码编码表,2023/8/6,2
15、5,2.1 数制与编码 2.1.4 字符和字符串标准ASCII码:有128种的组合,每种组合可代表一个字符。包括所有大写和小写字母,数字 0 到 9、标点符号,及在美式英语中使用的特殊控制字符。扩充ASCII码:在标准ASCII码前面增加一个二进制位,用8位二进制数来给字符编码。共有256种组合,可给256个字符编码。前128个字符的最高位为0,用于表示标准ASCII码。后128个字符的最高位为1,用于表示128种特殊符号,如制表符等。,2023/8/6,26,2.1 数制与编码 2.1.4 字符和字符串汉字编码:计算机的汉字处理技术必须解决3个问题:汉字的输入、存储与交换和汉字的输出,它们分
16、别对应于汉字的输入码、内码、交换码和字形码。汉字输入码:将汉字输入到计算机中多用的编码。数字输入法:对每个汉字采用一个数字串进行编码,例如区位码、国标码等。优点是无重复码,缺点是难以记忆。字形分解法:将汉字按其规则和笔画划分成若干部件,用字母或者数字进行编码。如五笔字型输入法、郑码输入法等。拼音输入法:是以汉字拼音为基础的输入方法。如全拼输入法、智能ABC输入法等。优点是无须记忆,缺点是重码率较高。音形输入法:利用拼音输入法和字形分解法的各自优点,兼顾汉字的音和形,将两者混合使用。如自然码输入法。,2023/8/6,27,2.1 数制与编码 2.1.4 字符和字符串汉字内码:是计算机系统内部处
17、理、存储汉字所使用的统一代码,一般采用两个字节表示一个汉字。汉字的输入码可以有多种,但内码在计算机中是唯一的。汉字交换码:不同的具有汉字处理功能的计算机系统之间在交换汉字信息时所用的代码标准。目前常用的是国标码,即国家标准化信息用汉字编码。国标汉字共有6763个,分两级,一级汉字为常用汉字,共3755个;二级汉字是非常用汉字,共3008个。每个汉字对应4位十六进制数(两个字节)。,2023/8/6,28,2.1 数制与编码 2.1.4 字符和字符串汉字字形码:目前的汉字处理系统中,字形信息的表示可以分为两大类:一类是用活字或文字版的母体字形形式,另一类是用点阵表示法、矢量表示法等形式,其中最基
18、本应用最广泛的是后者。,2023/8/6,29,2.1 数制与编码 2.1.4 字符和字符串字符串:连续的一串字符,通常方式下,它们占用主存中连续的多个字节,每个字节存一个字符。当主存字由2个或4个字节组成时,在同一个主存字中,既可以按从低位字节向高位字节的顺序存放字符串的内容,也可以按从高位字节向低位字节的次序顺序存放字符串的内容。这两种存放方式都是常用方式。如,1F AB THEN READ(C)就可有两种不同存放方式。假定每个主存字由4个字节组成,图 2.1(a)是按从高位字节向低位字符的次序存放,图 2.1(b)按从低位字节向高位字节的次序存放。主存中每个字节存放的是相应字符的ASCI
19、I编码值。,2023/8/6,30,2.1 数制与编码 2.1.4 字符和字符串,(a)(b),2023/8/6,31,2.1 数制与编码 2.1.5 数据校验码 计算机系统中的数据,在读写、存取和传送的过程中可能产生错误(随机错误或突发错误)。为减少和避免这类错误,一方面精心设计各种电路,提高计算机硬件的可靠性;另一方面是在数据编码上找出路,即采用某种编码法,通过少量附加电路,使之能发现某些错误,甚至能确定出错位置,进而实现自动改错的能力。,2023/8/6,32,2.1 数制与编码 2.1.5 数据校验码 数据校验码是一种常用的带有发现某些错误或自动改错能力的数据编码方法。实现原理:加进一
20、些冗余码,使合法数据编码出现某些错误时,就成为非法编码。这样就可以通过检测编码的合法性来达到发现错误的目的。码距:一个编码系统中任意两个合法编码(码字)之间不同的二进数位(bit)数叫这两个码字的码距,而整个编码系统中任意两个码字的最小距离就是该编码系统的码距。,2023/8/6,33,2.1 数制与编码 2.1.5 数据校验码 图2.4所示编码系统,用三个bit表示8个码字。两个码字之间不同的bit数最少为1,故该系统码距为1。如任何码字中一位或多位被颠倒,这个码字不能与其它有效信息区分开。如传送信息001,而被误收为011,因011仍是合法码字,接收机将认为011是正确信息。,图 2.4
21、用三个bit来表示8个码字,2023/8/6,34,2.1 数制与编码 2.1.5 数据校验码 图2.5所示编码系统,用4个bit表示8个码字,码字间的最小距离增加到2,码距为2。8个码字相互间最少有两bit的差异。如果任何信息的一个数位被颠倒,就成为一个非法码字。如信息是1001,误收为1011,接收机知道发生了一个差错,因为1011不是一个合法码字。但差错不能被纠正,偶数个差错也无法发现。,图 2.5 用4个bit来表示8个码字,2023/8/6,35,2.1 数制与编码 2.1.5 数据校验码 为使一个系统能检查和纠正一个差错,码间最小距离必须至少是“3”。最小距离为3时,或能纠正一个错
22、,或能检二个错,但不能同时纠一个错和检二个错。编码信息纠错和检错能力的进一步提高需要进一步增加码字间的最小距离。表2.6概括了最小距离为1至7的码的纠错和检错能力。常用的数据校验码:奇偶校验码、海明校验码、循环冗余校验码,2023/8/6,36,2.1 数制与编码 2.1.5 数据校验码-奇偶校验码奇偶校验码:奇偶检验码是一种最简单、最直观、应用最广泛的检错码,它的码距为2,因此它只能检出一位错。实现方法:由若干位有效信息(如1个字节),再加上1个二进制位(校验位)组成校验码。检验位的取值(0或1)将使整个校验码中“1”的个数为奇数或偶数。当校验位的取值使整个校验码中“1”的个数为奇数时,称为
23、奇校验;当“1”的个数为偶数时为偶校验。奇偶校验的编码和检验的电路:常见的有并行奇偶统计电路,如图2.2所示。,2023/8/6,37,PO=D1 D2 D3 D4 D5 D6 D7 D8,2.1 数制与编码 2.1.5 数据校验码-奇偶校验码,图 2.2 奇偶校验位的形成及检验电路,=,2023/8/6,38,2.1 数制与编码 2.1.5 数据校验码-奇偶校验码下面以奇校验为例说明对主存信息进行奇偶校验的全过程:校验位形成:当要把一个字节的代码D7D0写入主存时,就将它们送往奇偶校验逻辑电路,该电路产生的“奇形成”信号就是校验位。它将与8位代码一起作为奇校验码写入主存。若D7D0中有偶数个
24、“1”,则“奇形成”=1,若D7D0中有奇数个“1”,则“奇形成”=0。校验检测:校验检测是将读出的9位代码(8位信息位和1位校验位)同时送入奇偶校验电路检测。若读出代码没有错误,则“奇校验出错”=0;若读出代码中的某一位上出现错误,则“奇校验出错”=1,表示这个9位代码中一定有某一位出现了错误,但是具体的错误位置是不能确定的。,2023/8/6,39,2.1 数制与编码 2.1.5 数据校验码-奇偶校验码水平垂直奇偶校验码:实际工作中还经常采用纵横都加校验奇偶校验位的编码系统水平垂直奇偶校验码。考虑传输若干个长度为m位的信息。如果把这些信息编成每组n个信息的分组,则在这些不同的信息间,也能够
25、作奇偶校验。下图中n个信息的一个分组排列成矩阵式样,并以水平奇偶(HP)及垂直奇偶(VP)的形式编出奇偶校验位。,2023/8/6,40,2.1 数制与编码【例】(2001年程序员试题):由 6 个字符的 7 位 ASCII 编码排列,加上水平垂直奇偶校验位构成下列矩阵(最后一列为水平奇偶校验位,最后一行为垂直奇偶校验位),则:,X1 X2 X3 X4 处比特分别为?X5 X6 X7 X8 处比特分别为?X9 X10 XI1 X12 处比特分别为?Y1 和 Y2 处的字符分别为?,0,1,1,1,0,0,0,1,1,1,1,0,2023/8/6,41,2.1 数制与编码【解】从ASCII码左起
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 数据 表示 运算
链接地址:https://www.31ppt.com/p-5658338.html