《第2章数据的表示和运算课件教学教材》由会员分享,可在线阅读,更多相关《第2章数据的表示和运算课件教学教材(199页珍藏版)》请在金锄头文库上搜索。
1、2020/7/19,1,第2章 数据的表示和运算,2.1 数制与编码 2.2 定点数的表示和运算 2.3 浮点数的表示和运算 2.4 算术逻辑单元ALU,2020/7/19,2,2.1 数制与编码 2.1.1 进位计数制及其相互转换 当使用汇编语言或者高级语言编写程序时,一般都采用十进制形式;有时出于某种需要也采用十六进制形式或者二进制形式来表示。但是在计算机内部,数据的表示、存储和运算均采用二进制形式。 进位计数制:又称为数制,即按进位制的原则进行计数。数制由两大要素组成:基数R和各数位的权W。基数R决定了数制中各数位上允许出现的数码个数,基数为R的数制称为R进制数。权W则表明该数位上的数码
2、所表示的单位数值的大小,权W与数位的位置有关。 计算机中常用的进位计数制有二进制、八进制、十进制和十六进制。,2020/7/19,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的实际值为:,2020/7/19,4,2.1 数制与编码 2.1.1 进位计数制及其相互转换 十进制(Decimal)
3、 :基数为10,允许使用的数字有10个(0-9)。主要特点是逢十进一。任意一个十进制数可以表示为:,例如十进制数135.26可以表示为:,2020/7/19,6,2.1 数制与编码 2.1.1 进位计数制及其相互转换 计算机中数据主要以二进制数的形式存储,原因有以下几点 : 二进制数易于表示,比较容易找到具有二值状态的物理器件来表示数据和实现存储。比如脉冲有无、电压高低等。 二进制数运算规则简单,运算过程中的输入状态和输出状态较少,便于使用电子器件和线路加以实现。 二进制数的0和1与逻辑推理中的“真”和“假”相对应,为实现逻辑运算和逻辑判断提供了便利。,2020/7/19,7,2.1 数制与编
4、码 2.1.1 进位计数制及其相互转换 八进制(Octal) :基数为8,可使用的数字有0-7,逢八进一。任意一个八进制数可以表示为 :,十六进制(Hexadecimal) :基数为16,可使用的数码有0-9和A-F(代表10-15),逢十六进一。任意一个十六进制数可表示为 :,2020/7/19,8,2.1 数制与编码 2.1.1 进位计数制及其相互转换 非十进制转化为十进制 :非十进制数转为十进制数时将非十进制数按权展开,然后求和。 【例2.1】将下列非十进制数转化为十进制。, (1207)8=183282081780=512+128+0+7=(647)10 (A7)16=(10161+7
5、160)10=(160+7)10=(167)10,2020/7/19,9,2.1 数制与编码 2.1.1 进位计数制及其相互转换 十进制转化为非十进制 :十进制数转换为非十进制数时需将十进制数整数部分和小数部分分别转换,再将结果写到一起。 十进制整数转换为非十进制整数:除R取余法。十进制整数不断除以R,直至商为0。每除一次取一个余数,从低位排向高位。,例:208转换成十六进制数 (208)10 = (D0)16 16 208 余 0 16 13 余 13 = DH 0,2020/7/19,10,2.1 数制与编码 2.1.1 进位计数制及其相互转换 十进小数转换为非十进制小数:乘R取整法。用转
6、换进制的基数乘以小数部分,直至小数为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,2020/7/19,11,2.1 数制与编码 2.1.1 进位计数制及其相互转换 【例2.2】将(12.6875)10转化为二进制数。,整数部分(12)10=(1100)2,2020/7/19,12,2.1 数制与编码 2.1.1 进位计数制及其相互转换 【例2.2】将(12.6875)10转化
7、为二进制数。,小数部分(0.6875)10=(0.1011)2. 所以(12.6875)10=(1100.1011)2,2020/7/19,13,2.1 数制与编码 2.1.1 进位计数制及其相互转换 【课堂练习】将(105.3125)10转化为二进制数。,(105.3125)10=(1101001.0101)2,2020/7/19,14,2.1 数制与编码 2.1.1 进位计数制及其相互转换 二进制、八进制与十六进制的转换: 3位二进制数组成1位八进制数,4位二进制数组成1位十六进制数 二进制转换为八进制:从小数点开始,向两边每3位为一组,整数部分不足3位在前面补“0”,小数部分不足3位在后
8、面补“0”。 八进制转换为二进制:过程相反,每一位八进制数转换为3位二进制编码。 二进制转换为十六进制:从小数点开始,向两边每4位为一组,整数部分不足4位在前面补“0”,小数部分不足4位在后面补“0”。 十六进制转换为二进制:只需将每一位十六进制数写成它的4位二进制编码即可。 八进制与十六进制的转换先转换成二进制,然后再转换为所求的进制数,2020/7/19,15,2.1 数制与编码 2.1.1 进位计数制及其相互转换 【例2.3】将(11011.11001)2转化为八进制、十六进制,将(751)8转化为十六进制。,(11011.11001)2=(011 011.110 010)2=(33.6
9、2)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,2020/7/19,16,2.1 数制与编码 2.1.2 真值和机器数 计算机中的数据可分两类:无符号数和有符号数。 无符号数:即没有符号的数,在寄存器中的每一位均可存放数值。 有符号数:即带有符号的数,存放时需要留出位置存放符号。符号“正”、“负”需要数字化,一般用“0”表示正号,用“1”表示负号,并将它放在有效数字前面。 机器数:符号“数字化”的数 真 值:带“+”或“-”符号的数 例如,
10、真值是+0.11001,机器数为0.11001;真值为0.11001,机器数为1.11001,2020/7/19,17,2.1 数制与编码 2.1.3 BCD码 BCD码: 使用二进制数编码来表示十进制数的方法,又叫做二-十进制码。一般用4位二进制编码来表示一个十进制数。 常用的BCD码分为有权码和无权码。 有权码: 每一位都有固定的权值,加权求和的值即为它所表示的十进制数。常用的有权码有8421码、2421码、5211码等,8421码的4位二进制数的权从高到低依次是8、4、2、1。一般提到的BCD码就是指8421码。这种编码的优点是这4位二进制数之间满足二进制的进位规则。,2020/7/19
11、,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修正,2020/7/19,19,2.1 数制与编码 2.1.3
12、 BCD码 其它几种有权码: 2421、5211、4311码都采用4位有权的二进制码表示1个十进制数,但这4位二进制之间不符合二进制规则。这几种有权码有一特点:任何两个相加之和等于(9)10的二进制码互为反码。 如2421码中,0(0000)与9(1111)、1(0001)与8(1110),互为反码。 表 2.1给出了十进制数的几种常见的4位有权码。,2020/7/19,20,2.1 数制与编码 2.1.3 BCD码,表2.1 4位有权码,2020/7/19,21,2.1 数制与编码 2.1.3 BCD码 无权码: 4位二进制编码的每一位没有固定的权。在采用的无权码的一些方案中,采用的比较多的
13、是余3码,格雷码 余3码:把原二进制的每个代码都加0011值得到的。优点是执行十进制数位相加时,能正确产生进位信号,还给减法运算带来了方便。余3码的执行加法运算的规则:当两个余3码相加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送入高位余3码,同时本位加0011的修正操作。 格雷码:它的任何两个相邻的编码之间只有1个二进制位的状态不同,其余3个二进制位必须具有相同状态。优点:从一个编码变成下一个相邻编码时,只有1位的状态发生变化,有利于得到更好的译码波形,在模拟/数字转换的电路中得到更好的运行结果。,2020/7/19,22,2.1 数制与编码 2.1.3 BCD码,表2.2
14、 4位无权码,2020/7/19,23,2.1 数制与编码 2.1.4 字符和字符串 字符:字母、数码、运算符号、标点符号等,汉字也属于字符。使用计算机的过程必然要涉及字符。由于计算机只能识别0和1两种数码,所以字符也应采用二进制编码。 目前经常用的是美国国家信息交换标准字符码,简称ASCII(American Standard Code for Information Interchange)码。 ASCII码: 7位二进制代码表示一个字符,称为标准或基本ASCII码,如表 2.3所示。,2020/7/19,24,高位b6b5b4,低位b3b2b1b0,7位ASCII码编码表,2020/7/
15、19,25,2.1 数制与编码 2.1.4 字符和字符串 标准ASCII码:有128种的组合,每种组合可代表一个字符。包括所有大写和小写字母,数字 0 到 9、标点符号,及在美式英语中使用的特殊控制字符。 扩充ASCII码: 在标准ASCII码前面增加一个二进制位,用8位二进制数来给字符编码。共有256种组合,可给256个字符编码。前128个字符的最高位为0,用于表示标准ASCII码。后128个字符的最高位为1,用于表示128种特殊符号,如制表符等。,2020/7/19,26,2.1 数制与编码 2.1.4 字符和字符串 汉字编码:计算机的汉字处理技术必须解决3个问题:汉字的输入、存储与交换和
16、汉字的输出,它们分别对应于汉字的输入码、内码、交换码和字形码。 汉字输入码: 将汉字输入到计算机中多用的编码。 数字输入法:对每个汉字采用一个数字串进行编码,例如区位码、国标码等。优点是无重复码,缺点是难以记忆。 字形分解法:将汉字按其规则和笔画划分成若干部件,用字母或者数字进行编码。如五笔字型输入法、郑码输入法等。 拼音输入法:是以汉字拼音为基础的输入方法。如全拼输入法、智能ABC输入法等。优点是无须记忆,缺点是重码率较高。 音形输入法:利用拼音输入法和字形分解法的各自优点,兼顾汉字的音和形,将两者混合使用。如自然码输入法。,2020/7/19,27,2.1 数制与编码 2.1.4 字符和字符串 汉字内码:是计算机系统内部处理、存储汉字所使用的统一代码,一般采用两个字节表示一个汉字。汉字的输入码可以有多种,但内码在计算机中是唯一的。 汉字交换码:不同的具有汉字处理功能的计算机系统之间在交