收藏 分享(赏)

数值型数据,字符的表示.ppt

上传人:精品资料 文档编号:11049503 上传时间:2020-02-05 格式:PPT 页数:61 大小:949.50KB
下载 相关 举报
数值型数据,字符的表示.ppt_第1页
第1页 / 共61页
数值型数据,字符的表示.ppt_第2页
第2页 / 共61页
数值型数据,字符的表示.ppt_第3页
第3页 / 共61页
数值型数据,字符的表示.ppt_第4页
第4页 / 共61页
数值型数据,字符的表示.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

1、Shanghai Maritime University,1,计算机原理与汇编,上海海事大学信息工程学院,Shanghai Maritime University,2,Chapter 2 计算机中信息表示,2.1.1 进位计数制,2.1.2带符号数据表示,2.1.3 定点数与浮点数,2.2 字符的表示,2.4 数据校验技术,2.1.1 数值型数据的表示和转换 1. 数制基本概念:基数 “逢n进1”,基数就是n 权 位权、权位,一个R进制数N,2.1 数据的表示方法和转换,R=2 二进制 Binary, 数符可取0,1 逢2进1R=8 八进制 Octonal, 数符可取0,17 逢8进1R=16

2、 十六进制 Hexadecimal, 数符可取0,19,A,B,C,D,E,F(a,b,c,d,e,f) 逢16进1R=10 十进制 Decimal, 数符可取0,1,9 逢10进1,2.1 数据的表示方法和转换,2. 计算机中常用的进位制二进制:1010.11B 或 (1010.11)2八进制:164.37Q 或 (164.37)8十六进制:0AF.7BH 或 (0AF.7B)16 78H 或 (78)16 注:书写时以字母AF开头的前面要加0。十进制:128.9 或128.9D 或 (128.9)10,2.1 数据的表示方法和转换,3. 二进制 八进制 、十六进制 B-Q(H): 例 10

3、100010.1101B=?Q 以小数点为中心,三位(四位)一组,不足补0010 100 010. 110 100 B=2 4 2. 6 4 Q Q(H)-B: 每一位写成三位(四位)9F.8 H = 1001 1111. 1000 B 原因:8,16是2的整次幂,2.1 数据的表示方法和转换,4. 二进制 十进制 a)十进制整数二进制整数 除2(基)取余,先出为低 直到商为0,2|1162| 58 02| 29 02| 14 12| 7 02| 3 12| 1 10 1,例:116( )2,116=1110100B,2.1 数据的表示方法和转换,b)十进制小数二进制小数 乘2(基)取整,先出

4、为高,0.6 21 1. 2 0. 2 20 0. 4 2 0 0. 8 21 1. 60. 6,0.6=0.1001 1001 1001注:结果可能是一个循环小数,例:0.6( )2,2.1 数据的表示方法和转换,c)十进制数二进制数整数部分、小数部分 分开转换 例如:116.6,116 = 1110100B,0.6 = 0.1001 1001B, 116.6 = 1110100.1001 1001 B,2.1 数据的表示方法和转换,d)二进制数十进制数 按权展开 例如: 10101.101B=124 +122 + 120 + 12-1 + 12-3特例,2.1 数据的表示方法和转换,Sha

5、nghai Maritime University,11,习题: 1) B-D11 1010. 011 100 0101. 1001 2)Q(H)-D,B47.2Q 0AD.6 H 3) D-B178 0.34 65.23 11/256,常用的信息编码,2.2.1 西文字符ASCII码 P433 附录A 每个字符占用一个字节低7位,共表示128个字符 例如: “A” 100 0001,存放:0100 0001(41H) “a” 110 0001,存放:0110 0001(61H) 字符可以比较大小小写字母大写字母数字字符特殊符号,2.2 字符编码和字符串的存放,2.2.3 汉字的表示,国标码:

6、 6763个常用汉字,列表,分94个区,每区94位 每个汉字用2个字节表示,(区号32,位号32)汉字的这2个字节都在33126之间,每一字节只占用低7位(与ASCII码冲突) 如“啊”在16区第1位,表示出来就是30H,21H,常用的信息编码,Shanghai Maritime University,14,机内码:将国标码两个字节最高位都置1机内码国标码8080H“啊” B0A1H 故不会与ASCII冲突输入码输出码,常用的信息编码,一、无符号数和带符号数无符号数:全部数位都用来表示数值的大小 即正整数(最小数为0)10001 B 表示 1700011 B 表示 3 永远不会出现负数,2.1

7、.2 带符号数据的表示和运算,带符号数:有正负之分,机器数有原码、补码、反码、移码四种表示方法真值 1011B 0.1101B +1011B 机器数 1 1011B 1. 1101B 01011B,2.1.2 带符号数据的表示和运算,真值:用“”、“”号加上绝对值的表示方法机器数:将“”、“”也数码化了的数,最高位是符号位,带符号数:,一、 带符号数的原码表示法 最高位是符号位,“0”正“1”负,数值部分就是原来数的绝对值,1. 定义:(P64,式3.5) (符号绝对值表示法),小数(定点纯小数)0.X1X2Xn 字长n1位X原码Xs. X1X2Xn= X 0X11+|X| =1X -1X0,

8、2.1.2 原码、补码、反码,整数(定点纯整数)Xn-1Xn-2X0 字长n1位X原码Xs Xn-1Xn-2X0 = X 0X2n2n+|X| =2nX -2nX0e.g. X1=1011 X1原=01011X2=1011 X2原=24|1011|=11011,e.g. X1=0.1011 X1原=0.1011X2=0.1011 X2原=1|0.1011|=1.1011,2.1.2 原码、补码、反码,2. 真值0的原码表示:有正0、负0之分,整数: +0原=0000 -0原=1000小数 +0原=0.000 -0原=1.000,3. 原码表示范围: n+1位字长,整数 1 1111 0 111

9、1 -(2n-1)x+(2n-1)n n小数 1.1111 0.1111 -(1-2-n)x+(1-2-n) n n,2.1.2 原码、补码、反码,4. 原码性质:n+1位字长,0在原码中有+0和-0之分,但真值含义相同 符号不是数值的一部分,0正1负人为约定,运算中符号位单独处理 优点: 表示直观,乘除方便 缺点: 加减复杂 n+1位字长原码表示范围: 整数 (2n-1), 小数 (1-2-n),2.1.2 原码、补码、反码,二、 带符号数的补码表示法,1. “模”即为“ 溢出量 ”,例1: 拨钟 时钟指向10点, 现在正确时间是6点 方法1-顺时针拨动 8小时 108=18=1812=6

10、(mod 12) 方法2-逆时针拨动 4小时 104=6,例2: 圆周 360 200 200= 400=400 360=40 ( mod 360)200 160= 40,2.1.2 原码、补码、反码,2. 补码定义: X补=M+X (mod M),若X0 X补=M+XM, 舍弃M, X补=XX0 X补=M+XM, X补=M|X|,例3: 两位数加减运算, 溢出量 100 32+76=108=108-100=832- 24= 8,2.1.2 原码、补码、反码,小数(定点纯小数)0.X1X2Xn, 字长n1位 模 M即为溢出量10.0000 即模为 2,X补码Xs. X1X2Xn= X 0X12

11、X =2|X| -1X0e.g. X1=0.1011 X1补=0.1011X2=0.1011 X2补=10|0.1011| =100.1011=1.0101,2.1.2 原码、补码、反码,整数(纯整数)Xn-1Xn-2X0, 字长n1位模为100 00 , 即为 mod 2n+1 n+1 X补码Xs Xn-1Xn-2X0 = X 0X2n2n+1+X =2n+1|X| 2n X0,e.g. X1=1011 X1补=01011X2=-1011 X2补=25(1011) =1000001011 =10101,2.1.2 原码、补码、反码,3. 真值0的补码表示:只有一种表示形式,整数: +0补=0

12、000 -0补=10000 000 = 000 (mod 2n+1)n+1 n+1 n+1小数 0补=0.000 0补=0.0000只有一种表示, 补码比原码多表示一个数,补码中, 符号位0正1负是通过模运算得到的, 符号位也是数值的一部分,2.1.2 原码、补码、反码,4. n+1位字长, 补码的表示范围,整数: 1000 0000 0111 11112n x (2n1)小数: 1.000 0000 0.111 1111 1 x (12-n),5. 真值,原码 补码,正数: X原=X补=X,2.1.2 原码、补码、反码,负数: 方法1: 除符号位外, 每位变反并在最低位加1 “变反加1” X

13、补= 2n+1|X|= 2n+11|X|+1(反码1) 例: n+1=8 M=28 X=110X原=1000 0110 变反加1X补=1111 10010000 0001 = 1111 1010 根据定义验证:X补=1 0000 0000 110 =1111 1010,2.1.2 原码、补码、反码,方法2: 符号位不变, 尾数部分从最低位开始,找到第一个1, 这一位1和其右部的0 保持不变, 其余变反 (手算简单)X原=1000 0110 X补=1111 1010,2.1.2 原码、补码、反码,6. 补码性质:n+1位字长,符号是数值的一部分, 符号位可直接参与运算 0在补码中只有一种表示,

14、符合习惯 n+1位字长补码表示范围: 比原码多表示一个负数 根据映射关系, 负数X 正数域 减法可以转换为加法,2.1.2 原码、补码、反码,Shanghai Maritime University,30,三、反码表示法为了使负数转换为补码方便,采用反码 正数反码就是其本身, 负数反码即把其原码除符号位外,每位变反 反码与补码区别: 少在末尾加“1” (整数:1, 小数:2-n),整数:X反码Xs Xn-1Xn-2X0 X 0X2n2n+11|X| 2nX0,2.1.2 原码、补码、反码,Shanghai Maritime University,31,小数(定点纯小数)0.X1X2Xn 字长n

15、1位 X反Xs. X1X2Xn= X 0X1(22-n)|X| 1X0e.g. X1=+0.1011 X1反=0.1011X2=0.1011 X2反=10-0.0001-0.1011 =1.1111-0.1011=1.0100,e.g. X11011 X1反=01011X21011 X2反2511011 111111011=10100,2.1.2 原码、补码、反码,Shanghai Maritime University,32,2. 真值0的反码表示:有正0、负0之分,整数 +0反=0000 -0反=1111 小数 +0反=0.000 -0反=1.111,3. 真值,原码 反码,正数: X原X

16、补X反X,负数: 除符号位外, 每位变反 X补=X反1 (整数)X补=X反2-n (小数),2.1.2 原码、补码、反码,Shanghai Maritime University,33,4. 反码性质:n+1位字长,0在反码中有0和0之分 符号是数值的一部分 n+1位字长反码表示范围与原码相同: 整数 (2n1), 小数 (12-n),习题:写出下列各数的原码、补码、反码 0,0,0.1000,0.1000,0.1111,0.1111, 1101,1101,2.1.2 原码、补码、反码,一、 定点数: 小数点的位置固定,定点小数:,尾数用原码表示: -(1-2-n) + (1-2-n) 补码

17、: -1 +(1-2-n) 分辨率: 所能分辨出的最小的数,0.001即2-n 对于数值小于2-n的, 当作0处理,2.1.3 定点数与浮点数 P39,2. 定点整数:,n1位数值位 小数点位置(隐含),无符号数 无原码、补码之分,表示范围0 (2n11) 例如: Intel 8086 16位DB 表示范围 0(2161),即065535,无符号定点整数: n+1位,2.1.3 定点数与浮点数,符号位 n位数值位 小数点位置(隐含),带符号定点整数: n+1位,用原码表示: (2n1) (2n1) 补码 : 2n (2n1),例如: Intel 8086 16位DB, 原码表示范围 (2151

18、),即32767 32767 补码表示范围 215 (2151), 即32768 32767,2.1.3 定点数与浮点数,二、 浮点数,表示非常大或非常小的数, 类似于科学计数法 例如:-3121030 0.3121033 3.12 10320.03121034 M 10E阶码不同小数点位置不同浮动浮点数,2.1.3 定点数与浮点数,格式 N M RER基数:2,不改变,隐含E阶码:带符号纯整数, 常用补码、移码表示 M尾数:带符号纯小数, 常用补码、原码表示 浮点数中,只要表示出E、 M即可。,2.1.3 定点数与浮点数,2.1.3 定点数与浮点数,字长5位, X16 X1补00110X24

19、 X2补1110011100 00110 难以从补码看出数的大小,移码定义:n+1位字长X移2n+X 相当于把X平移了2n,0 2n 2n+1,-2n 0 2n,补码,移码,移码表示法: (整数),Shanghai Maritime University,40,2.1.3 定点数与浮点数,移码 补码:符号位变反+6补00110 +6移10110 -4补=11100 -4移=01100 X1移 X2移 X1 X2,移码性质:,用移码表示,X移0,可看成无符号数,利于两个数比较大小 最高符号位为“0负1正” 0的表示是唯一的,+0移-0移=1000 阶码常用移码表示,X移全0时,表示阶码最小,即为

20、2-n 补码和移码除最高位相反外,其他各位相同。,占用连续的几个字节,程序中约定好 一般格式:K1位阶码E n+1位尾数M,若E用31位表示, 111111 用41位表示,11111111 阶码位数 表示范围 若M 用31位表示,分辨率0.001 用41位表示,分辨率0.0001 尾数位数 精度,2.1.3 定点数与浮点数,2. 规格化浮点数:浮点数的表示形式不是唯一的,例如: 0.01011 2-6 尾数左移一位,阶码减1 0.1011 2-7 尾数右移一位,阶码加1 0.001011 2-5,规格化数:有效尾数占满尾数的所有位 对于非0的尾数,规格化尾数应满足 1/2|M|1,2.1.3

21、定点数与浮点数,尾数用原码表示: 1/2|M|1,即|M|(0.1)2, M1=1尾数用补码表示: 正数:最高位为1,Ms=0, M1=1 Ms与 M1 负数: (除1/2外) Ms=1, M1=0 相反 规格化的过程: 左规:尾数左移n,阶码减n右规:尾数右移n,阶码加n,3.1.3 定点数与浮点数,e.g. 12位,阶码: 4位补码 尾符1,尾数7位,原码 (101.011)20.101011 2+3 (已是规格化数) E: +3 = (0011)2 M: Ms=1 1010110, 0 011 1 1010110,2.1.3 定点数与浮点数,浮点数的表示范围:阶码K1位, 尾数 n+1位

22、,最大:Xmax= +Mmax R+Emax尾数(补): Mmax(12n) 阶码(补): Emax (2K1),2.1.3 定点数与浮点数,最小:Xmin=Mmin R+Emax尾数(补): Mmin1 阶码(补): Emax (2K1),绝对值最小的数(最小正数): |X|min=|M|min |RE|min尾数(补): |M|min2-n |RE|min即E最小, E2K,2.1.3 定点数与浮点数,规格化的最小正数: |X|min=|M|min |RE|min尾数(补): |M|min2-1|RE|min即E最小, E2K,例如: 阶码71位, 尾数 231位 表示范围,2.1.3 定

23、点数与浮点数,规格化的最小正数(分辨率),上溢(溢出): 规格化后,阶码超出最大阶码(中断处理)下溢(作0处理): 规格化后,阶码小于最小阶码,2.1.3 定点数与浮点数,三、实用浮点数举例(IEEE 754),IEEE 754 标准有短浮点数、长浮点数、临时浮点数三种形式。,短浮点数:,尾数:隐含最高位1,实际有效位为24位 23位尾数是纯小数,并用原码表示, 尾数的真值为(1尾数),2.1.3 定点数与浮点数,阶码:8位,阶码的偏置量为127 阶码的真值为(阶码127) 浮点数真值为: (1)s2 (阶码127)(1尾数) 表示范围: -2-128(2-2-23) - 2128(2-2-2

24、3)能表示的最小绝对值为2-127,2.1.3 定点数与浮点数,例如:IEEE 754短浮点数(CC968000)16的真值是?,(CC96800)16 (1100 1100 1001 0110 1000 0000 0000 0000)2,数符,阶码,尾数,阶码真值10011001(127)10=(153)10-(127)10=(26)10,尾数真值10.001 0110 1=1.00101101=(1.17578125)10,该数的真值-2261.17578125,2.1.3 定点数与浮点数,Shanghai Maritime University,52,校验的方法是让写入的信息符合某种规律

25、,在读出时检验信息是否符合这一规律,如符合可判定读出信息正确,否则有误。,目前使用的校验方法常采用冗余校验思想,即:,2.4 数据校验码 P66,Shanghai Maritime University,53,2.4.1 奇偶校验码,例如:待编有效信息 1011 0001,编码规则:,奇校验码 1011 0001 1,整个校验码中1的个数为奇数/偶数。,偶校验码 1011 0001 0,为了快速进行编码写入与读后校验,常采用并行奇偶校验逻辑电路。,Shanghai Maritime University,54,以偶校验为例,说明其编码与校验过程:,(1)编码 将8位代码D7D0写入时,同时送往

26、校验电路,并将“偶形成”与D7D0一起写入。,(2)校验 读出时,将8位代码与一位校验位同时送入校验电路。如“偶校错”为0,表明代码无奇数个错。,Shanghai Maritime University,55,优点:最简单的校验,硬件开销小 缺点: 1、仅可以检测1位(奇数个位)出错,不可检测2位(偶数个位)出错2、不可检测哪一位出错 但 2位及以上出错的概率比一位错概率大得多,2.4.1 奇偶校验码 P66,Shanghai Maritime University,56,3.7.3 循环冗余校验码-CRC码,特点:发现并纠正错误 应用:磁介质存储与计算机通信 传输校验码的组成:k位信息码r位

27、校验码,一、模2运算 1、模2加减:按位加,异或逻辑实现 2、模2乘:按模2加求部分积之和,2.4.2 CRC校验码 P67,Shanghai Maritime University,57,3、模2除:,部分余数首位为1,商取1;反之,商取0 然后按模2减求得余数,这个余数不计高位 最后余数位数比除数少一位,此余数为校验位,见P100,2.4 CRC校验码 P68,Shanghai Maritime University,58,设:信息代码M(X),N位信息;例1101生成多项式G(X),r+1位;例X3+X0=1001 方法:1.将M(X)左移r位(补0)2.被G(X)相除(模2除)得校验位

28、3.原N位信息码与r位校验码相连得CRC码 例:信息代码1101,生成多项式X3+X0 =1001 校验位为100,CRC码为1101100; 又例 P68 例2-41,二、CRC码的生成,2.4 CRC校验码 P68,Shanghai Maritime University,59,三、CRC码的检错纠错 原信息生成的CRC码/原生成多项式1. 余数为0没有错2. 余数不为0出错,且余数与出错位置对应 P68 表2-6,2.4 CRC校验码 P68,利用余数循环的特点,将出错位移至校验码最高位,变反纠错。以节省硬件。,Shanghai Maritime University,60,四、生成多项式,满足:1、任何一位发生错误都应使得余数不为02、不同位错误使得余数不同3、对余数继续模2除,应使余数循环,常用生成多项式 : P69,2.4 CRC校验码 P68,Shanghai Maritime University,61,本节结束,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报