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

上传人:101****457 文档编号:95442947 上传时间:2019-08-18 格式:PPT 页数:31 大小:234KB
返回 下载 相关 举报
第2章-计算机中的数据表示_第1页
第1页 / 共31页
第2章-计算机中的数据表示_第2页
第2页 / 共31页
第2章-计算机中的数据表示_第3页
第3页 / 共31页
第2章-计算机中的数据表示_第4页
第4页 / 共31页
第2章-计算机中的数据表示_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《第2章-计算机中的数据表示》由会员分享,可在线阅读,更多相关《第2章-计算机中的数据表示(31页珍藏版)》请在金锄头文库上搜索。

1、第2章 计算机中的数据表示,本章主要教学内容 计算机中数制基本概念、数制之间的转换 无符号数和带符号数的表示方法 ASCII码和BCD码的相关概念和应用 汉字编码及其应用,第2章 计算机中的数据表示,本章教学目的及要求 熟悉数制的基本概念和计算机中常用进位计数制 掌握二、八、十、十六进制的表达和相互转换 掌握机器数和带符号数的原码、反码、补码表示 熟悉美国信息交换标准代码(ASCII码)和二十进制编码BCD码的表达及应用。 了解微型计算机常用的汉字编码及其应用,第2章 计算机中的数据表示,2.1 计算机中的数制及其转换 2.2 计算机中数值数据的表示 2.3 字符编码 2.4 汉字编码,2.1

2、 计算机中的数制及其转换,通常,计算机中的数据分为两类: 数:用来直接表示量的多少,有大小之分, 能够进行运算。 码:通常指代码或编码,在计算机中用来描 述某种信息。,2.1.1 数制的基本概念 1数的表示 任何一种数制表示的数都可以写成按位权展开的多项式之和,即 Nd n1b n1d n2b n2d n3b n3 d m b m 式中:n 整数的总位数。 m 小数的总位数。 d下标 表示该位的数码。 b 表示进位制的基数。 b上标 表示该位的位权。,2. 计算机中常用的进位计数制,3计数制的书写规则 在数字后面加写相应的英文字母作为标识。 如:二进制数的100可写成100B 十六进制数100

3、可写成100H 在括号外面加数字下标。 如:(1011)2 表示二进制数的1011 (2D2)16 表示十六进制数的2D2,2.1.2 数制之间的转换 十进制整数转换为二进制整数:采用基数2连续去除该十进制整数,直至商等于“0”为止,然后逆序排列余数。 十进制小数转化为二进制小数:连续用基数2去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。 十进制整数转换为八进制整数或十六进制整数:采用基数8或基数16连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得到的余数。 十进制小数转换为八进制小数或十六进制小数:连续用基数8或基数16去乘以该十进制小数,直至

4、乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。,二、八、十六进制数转换为十进制数:用其各位所对应的系数,按“位权展开求和”的方法就可以得到,其基数分别为2、8、16。 二进制数转换为八进制数:从小数点开始分别向左或向右,将每3位二进制数分成1组,不足3位数的补0,然后将每组用1位八进制数表示即可。 八进制数转换为二进制数:将每位八进制数用3位二进制数表示即可。 二进制数转换为十六进制数:从小数点开始分别向左或向右,将每4位二进制数分成1组,不足4位的补0,然后将每组用一位十六进制数表示即可。 十六进制数转换为二进制数:将每位十六进制数用4位二进制数表示即可。,【例】将十进制整数(1

5、05)10转换为二进制整数,采用“除2倒取余”的方法,过程如下: 2 105 2 52 余数为1 2 26 余数为0 2 13 余数为0 2 6 余数为1 2 3 余数为0 2 1 余数为1 0 余数为1 所以,(105)10(1101001)2,【例】将十进制小数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下: 0.812521.625 取整数位1 0.62521.25 取整数位1 0.2520.5 取整数位0 0.521.0 取整数位1 所以,(0.8125)10(0.1101)2 如果出现乘积的小数部分一直不为“0”,则可以根据精度的要求截取一定的位数即可。,【

6、例】将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下: 16 2347 16 146 余数为11(十六进制数为B) 16 9 余数为2 0 余数为9 所以,(2347)10(92B)16,2.2 计算机中数值数据的表示,2.2.1 基本概念 在计算机内部需要以二进制形式表示数值数据,称为数值编码; 把一个数及其符号在机器(计算机)中的表示形式称为机器数; 机器数所代表的带符号数称为数的真值。,1. 机器数的范围 字长为8位,无符号整数的最大值是11111111B = 255D,此时机器数的范围是0255。 字长为16位,无符号整数的最大值是111111111

7、1111111B = FFFFH = 65535D,此时机器数的范围是065535。 2. 机器数的符号 表示带符号数时,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。 3. 机器数中小数点的位置 规定小数点的位置固定不变,称为“定点数”; 规定小数点的位置可以浮动,称为“浮点数”。,2.2.2 原码、反码和补码带符号数 1. 原码 正数的符号位为0,负数的符号位为1; 其它位按照一般方法来表示数的绝对值。 【例】当机器字长为8位二进制数时: X1011011 X原码01011011 Y1011011 Y原码11011011 1原码00000001 1原码10000001 1

8、27原码01111111 127原码11111111 原码表示的整数范围:(2n-11)(2n-11), 其中n为机器字长。 8位二进制原码表示整数范围127127 16位二进制原码表示整数范围3276732767,2. 反码 正数的反码与其原码相同; 负数的反码为其原码除符号位以外的各位按位取反。 【例】当机器字长为8位二进制数时: X1011011 X原码01011011 X反码01011011 Y1011011 Y原码11011011 Y反码10100100 1反码00000001 1反码11111110 127反码01111111 127反码10000000 反码表示的整数范围与原码相

9、同。 负数的反码与负数的原码有很大的区别,反码通常用作求补码过程的中间形式。,3. 补码 正数的补码与其原码相同; 负数的补码为其反码在最低位加1。 【例】X1011011,Y1011011 X原码01011011 X补码01011011 Y原码11011011 Y反码10100100 Y补码10100101 补码表示的整数范围是2n-1(2n-11),其中n为机器字长。 8位二进制补码表示的整数范围是128127 16位二进制补码表示的整数范围是3276832767 当运算结果超出字长表示范围时,不能正确反映数值,称为运算溢出。,4. 补码与真值之间的转换 正数补码的真值等于补码的本身; 负

10、数补码转换为真值时,将负数补码按位求反,末位加1。 【例】X补码01011001B,Y补码11011001B,分别求其真值。 X 1011001B (126124123120) (641681) (89)D Y(1011001求反1)B (01001101)B (0100111)B (125122121120) (32421) (39)D,2.2.3 定点数和浮点数表示 任意一个二进制数均可以表示为一个纯整数或纯小数与一个2的整数次幂的乘积形式: N2PS S称为数N的尾数 P称为数N的阶码(指数) 说明: P、S都是用二进制表示的数; 尾数S表示数N的全部有效数字; 阶码P指明小数点的位置。

11、,1. 定点数 当阶码P的取值不变,即小数点固定在某一位置时所表示的数; 小数点固定位置无限制,但最常用的两种定点数: 定点纯整数:P0且S为纯整数,小数点固定在最低数值位右边,最高位为符号位,小数点本身不占位 格式:符号位|尾数S(小数点). 定点纯小数: P0且S为纯小数,小数点固定在最高数值位左边,最高位仍为符号位,小数点本身不占位 格式:符号位| . (小数点)尾数S,【例】8位二进制数11010100 若是定点纯整数,表示84; 若是定点纯小数,表示0.65625。 说明: 定点纯整数和定点纯小数在格式上没有差别; 定点数的小数点是隐含的,由程序员预先设定; 定点数的小数点位置固定,

12、所以表示的数值范围小,精度低。,2. 浮点数 当阶码P不为0,且可在一定范围内取值,即小数点位置可以发生变化时所表示的数; 在数位有限的情况下,可扩大数的表示范围,并保持有效精度,是计算机中常用的数值表示方法; 浮点数的表示方法不是唯一的,目前众多计算机厂家采用的是IEEE标准,浮点数格式分为单精度(32位)和双精度(64位)两种。 格式:(1)S 2 E(b0b1b2b P1) (1)S是 符号位,S0为正数,反之为负数; E为指数,EE1E2 E m,是一个带偏移量的整数,表示为无符号数; b0b1b2b P1是尾数,bi是二进制位,p为尾数的长度,其中b01,说明尾数为12之间的数,在表

13、示成规格化格式时, b0与小数点一起被隐含。,单精度数:E用8位表示,偏移量127,尾数和符号位共24位,格式S|E1E2 E8|b0b1b2b23; 双精度数:E用11位表示,偏移量1023,尾数和符号位53位,格式S|E1E2 E11|b0b1b2b52。 【例】将219.125表示成单精度浮点数。 解:219.12511011011.001B1.101101100127B 指数为7,故E7+12713410000110B 规格化的浮点数形式为 0 10000110 10110110010000000000000 S E(8位) 隐去b0和小数点,共23位 【例】有单精度浮点数 1 100

14、10000 10101100010000000000000,求其真值。 解:S1,表示负数;E10010000B144,故指数为144-12717, b01已隐去,真值为1.1010110001217B。,2.3 字符编码,1. 美国信息交换标准代码ASCII码 目前微型计算机的字符编码均采用ASCII码; ASCII码用7个二进制位b6b0对字符进行编码,共有128个字符,通常将ASCII码最高位补0或作奇偶校验位,以便构成一个字节; 128个字符分为两类: 非打印ASCII码:用于控制信息,共33个。如DEL(删除、F7H),CR(回车,D0H)等; 可打印ASCII码:共95个,其中数字

15、09的编码为30H39H,字母AZ对应41H5AH,字母az对应61H7AH。,2. 二十进制编码BCD码 BCD(Binary-Coded Decimal)码专门解决用二进制数表示十进数的问题。最常用的是8421编码,其方法是用4位二进制数表示1位十进制数,自左至右每一位对应的位权是8、4、2、1。 压缩BCD码:每一位十进制数采用4位二进制数来表示,即一个字节表示2位十进制数,如二进制数10001001B,采用压缩BCD码表示为十进制数89D。 非压缩BCD码:每一位十进制数采用8位二进制数来表示,即一个字节表示1位十进制数。而且只用每个字节的低4位来表示09,高4位为0,如十进制数89D,采用非压缩BCD码表示为二进制数是 00001000 00001001B。,2.4 汉字编码,1. 基本概念 计算机处理汉字信息的前提条件是对每个汉字进行编码,这些编码统称

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号