资源简介 (共22张PPT)第三章 数据在计算机中的存放3.1 进位计数制及相互转换3.2 数据在计算机中的表示在计算机内部,数据的存储和处理都是采用二进制数,主要原因是: (1)二进制数在物理上最容易实现。 (2)二进制数的运算规则简单,这将使计算机的硬件结构大大简化。 (3)二进制数的两个数字符号“1”和“0”正好与逻辑命题的两个值“真”和“假”相对应,为计算机实现逻辑运算提供了便利的条件。但二进制数书写冗长,所以为书写方便,一般用十六进制数或八进制数作为二进制数的简化表示。3.1进位计数制及相互转换3.1进位计数制及相互转换3.1.1进位计数制N=an-1×rn-1+an-2×rn-2+…+a0×r0+a-1×r-1+…+a-m×r-mR进制数N可表示 为:R进制数用 r个基本符号(例如0,1,2,…,r-1)表示数值基数权数码678.34=6×102+7×101+8×100 +3×10-1+4×10-2二进制位权表示:例如:(110111.01)B=32+16+4+2+1+0.25=(55.25)D3.1.2不同进位计数制间的转换r 进制转化成十进制r 进制转化成十进制:数码乘以各自的权的累加例:10101(B)=24+22+1=21101.11(B)=22+1+2-1+2-2=5.75101(O)=82+1=6571(O)=7 8+1=5101A(H)=163+16+10=4106进制表示符号B 二进制O八进制D十进制H十六进制演示:十进制数转换成八进制数十进制转化成 r 进制整数部分:除以 r取余数,直到商为0,余数从右到左排列。小数部分:乘以 r取整数,整数从左到右排列。100(D)=144(O)=64(H)例 100.345(D)≈1100100.01011(B)1.3800.34520.690220.76021.5202 100250225212262321000100111.04八进制100812818044110016604616十六进制演示二进制、八进制、十六进制数间的相互转换64(H)=0110 0100(B)6 4144(O)=001 100 100(B)1 4 41 101 101 110.110 101(B)= 1556.65(O)1 5 5 6 6 511 0110 1110.1101 01(B)=36F.D4(H)3 6 F D 4一位八进制数对应三位二进制数一位十六进制数对应四位二进制数二进制转化成八(十六)进制)整数部分:从右向左按三(四)位进行分组小数部分:从左向右按三(四)位进行分组不足补零二进制、八进制、十六进制数间的关系八进制 对应二进制 十六进制 对应二进制 十六进制 对应二进制0 000 0 0000 8 10001 001 1 0001 9 10012 010 2 0010 A 10103 011 3 0011 B 10114 100 4 0100 C 11005 101 5 0101 D 11016 110 6 0110 E 11107 111 7 0111 F 11113.2 数据在计算机中的表示1 1 1 1 1 1 1 11 0 1 0 0 1 0 1符号位 “0”表示正 、 “1”表示负定点整数3.2.1数值1. 数的编码表示10101100S小数点无符号位S小数点定点小数符号位 “0”表示正 、 “1”表示负运算带来问题复杂性:3.2.1数值1. 数的编码表示10101100例3.9 (-5)+4的结果应为-1。但在计算机中若按照上面讲的符号位同时和数值参加运算,则运算如下:若要考虑符号位的处理,则运算变得复杂。为了解决此类问题,引入了多种编码表示方式,常用的是:原码、反码和补码,其实质是对负数表示的不同编码。(3)补码0X1|X|0<=XX<=0+7: 00000111 +0:00000000- 7: 10000111 - 0:10000000[X]原=+7: 00000111 +0:000000000X1|X|0<=XX<=00X1|X|+10<=XX<=0+7: 00000111 +0:00000000-7:11111000 - 0:11111111- 7:11111001 - 0:00000000(2)反码[X]反=[X]反=带符号数的表示假定一个数在机器中占用8位。(1) 原码定点整数2.定点数和浮点数表示S小数点无符号位S小数点定点小数定点数浮点数(指数形式)在数学中,一个实数可以用指数形式表示:N=±d×10±p式中:d是尾数,前面的“±”表示数符;p是阶码,前面的“±”表示阶符。例如:1233.14=1.23314×103=12331.4×10-1=…同样,任意二进制浮点数的表示形式为:N=±d×2±p110.011(B)=0.110011×2+3=11001.1×2-2=1.110011×2+2=…数符 阶码 尾数1位 8位 23位2.机内存储 标准:IEEE 7541.规格化数表示浮点数单精度 float或single 32位双精度 double 64位数符 阶码 尾数1位 11位 52位数符 阶码 尾数单精度加127,双精度加1023尾数的位数决定数的精度阶码的位数决定数的范围规格化的形式:尾数的绝对值大于等于1.0并且小于2,从而唯一地规定了小数点的位置。定点整数定点小数26.0D=11010.0B=+1.10100*240 10000011 10100000000000000000000+127=131=10000011B单精度 32位例1:-2.5D=-10.1B=-1.01*211 10000000 01000000000000000000000+127=128=10000000B例2:单精度 32位① 数符:0表示正,1表示负② 尾数中的“1.”不存储目的:节省存储空间③ 单精度:阶码=指数+127双精度:阶码=指数+1023目的:能够处理负数3.2.2 字符西文字符ACSII码(American Standard Code for Information Interchange)128个常用字符,用7位二进制编码,从0到127控制字符:0~32,127;普通字符:94个。例如:“a”字符的编码为1100001,对应的十进制数是97;换行 0AH 10回车 0DH 13空格 20H 32‘0’~‘9’ 30H~39H 48~57‘A’~‘Z’ 41H~5AH 65~90‘a’~‘z’ 61H~7AH 97~122汉字编码(1) 汉字输入码音码类 全拼、双拼、微软拼音、自然码和智能ABC等形码类 五笔字型法、郑码输入法等 。(2) 汉字国标码(GB2312-80)每个汉字占两个字节。一级汉字:3755个;二级汉字:3008个。汉字94×94的矩阵,即94个区和94个位,由区号和位号构成汉字的区位码 。区号位号汉字的国标码与区位码的关系:每个汉字的区号和位号各加32(20H)就构成了国标码加32的原因:为了与ASCII码兼容,每个字节值大于32 (0~32为非图形字符码值)(3)机内码汉字在设备或信息处理系统内部最基本的表达形式。为了在计算机内部能够区分是汉字编码还是ASCII码 ,将国标码每个字节最高位设置为1(80H).区位码 国标码 机内码 中 (36 30)H (56 50)H=(01010110 01010000)B (11010110 11010000)B=(D6 D0)H华 (1B0A)H (3B 2A)H=(00111011 00101010)B (10111011 10101010)B=(BB AA)H三种码之间关系:汉字机内码=汉字国标码+80 80H=区位码+A0 A0H国标码=区位码+2020H(4) 汉字字形码点阵:汉字字形点阵的代码有16×16、24×24、32×32、48×48等编码、存储方式简单、无需转换直接输出放大后产生的效果差矢量:存储的是描述汉字字形的轮廓特征矢量方式特点正好与点阵相反组平面行字位最高位为0基本多文种平面(BMP):0组0平面,包含字母、音节及表意文字等。例如:‘A’ 41H(ASCII) 00000041H(UCS)‘大’ 3473H(GB2312) 00005927H(UCS(5) 其他汉字编码UCS码、Unicode码、GBK码、BIG5码等国际标准: 通用多八位编码字符集UCS(Universal Code Set)世界各种文字的统一的编码方案,一个字符占4个字节。分为:其他汉字编码Unicode码另一国际标准:采用双字节编码统一地表示世界上的主要文字。其字符集内容与UCS的BMP相同。 GBK码GBK等同于UCS的新的中文编码扩展国家标准,2字节表示一个汉字第一字节从81H~FEH,最高位为1;第二字节从40H~FEH,第二字节的最高位不一定是1。 BIG5编码台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括440个符号,一级汉字5 401个、二级汉字7 652个,共计13 060个汉字。 展开更多...... 收起↑ 资源预览