第四讲 数据信息表示2 第2章_第1页
第四讲 数据信息表示2 第2章_第2页
第四讲 数据信息表示2 第2章_第3页
第四讲 数据信息表示2 第2章_第4页
第四讲 数据信息表示2 第2章_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章数据信息表示 1 1 数据格式 定点数和浮点数浮点数的规格化 IEEE7542 非数值数据的编码字符 汉字3 检验码奇偶校验 海明码 CRC 第二讲安排 3 定点数 小数点固定在某一位置的数据 纯小数 表示形式有符号数x xSx 1x 2 x n0 x 1 2 n xs为符号位无符号数x x0 x 1x 2 x n0 x 1 2 n xs为符号位数据表示范围0 0 0 0 x 1 2 n 0 1 1纯整数 表示形式有符号数x xsxn 1 x1x0 x 2n 1 xs为符号位无符号数x xnxn 1 x1x00 x 2n 1 1 xn为数值位注意 小数点的位置是机器约定好的 并没有实际的保存 x0 x 1x 2x 3 x n xnxn 1xn 2 x1x0 数据格式 定点数 设采用n 1位数据 3 4 4 定点机的特点 所能表示的数据范围小使用不方便 运算精度较低存储单元利用率低 5 数据格式 浮点数 浮点数 小数点位置可变 形如科学计数法中的数据表示 浮点数格式定义 N Re MM 尾数 mantissa 是一个纯小数 表示数据的全部有效数位 决定着数值的精度 R 基数 radix 可以取2 8 10 16 表示当前的数制 微机中 一般默认为2 隐含表示 e 阶码 exponent 是一个整数 用于指出小数点在该数中的位置 决定着数据数值的大小 机器数的一般表示形式 6 6 科学计数法的表示 一个十进制数可以表示成不同的形式 同理 一个二进制数也可以有多种表示 7 浮点数规格化 浮点数的表示1 11 20 0 111 21 11 1 2 1机器数的表示不同 不利于运算规格化的目的保证浮点数表示的唯一性 保留更多地有效数字 提高运算的精度 规格化要求1 R 尾数 1 规格化处理 尾数向左移n位 小数点右移 同时阶码减n 尾数向右移n位 小数点左移 同时阶码加n 规格化 右规 左规 8 8 浮点数的规格化 尾数用原码表示时尾数最高数值位为1 尾数形如0 1 正 或1 1 负 例如 0 011 25要规格化则变为0 11 24 0 011 25要规格化则变为1 11 24 尾数用补码表示时尾数最高数值位和尾数符号位相反 尾数形如0 1 正 或1 0 负 例如 0 011 25要规格化 则变为0 11 24 0 011 25要规格化 则变为1 01 24 9 浮点数的数据表示范围 0 最大负数 最小正数 最小负数 最大正数 下溢区 上溢区 上溢区 负数区 正数区 浮点数的溢出 阶码溢出上溢 阶码大于所能表示的最大值 下溢 阶码小于所能表示的最小值 机器零 尾数为0 或阶码小于所能表示的最小值 10 浮点数的最值 设浮点数格式为 移码表示 2m 2m 1 补码表示 1 1 2 n 1 2 2m 1 2 n 2 2m 2 n 2 2m 1 2 n 2 2m 1 11 11 100 00 00 00 111 11 00 00 000 01 11 11 011 11 同左 同左 00 00 101 11 2 1 2 n 2 2m 2 1 2 2m 同左 同左 00 00 010 00 11 例1 设浮点数的阶码6位 含符号位 尾数为10位 含符号位 阶码采用补码表示 尾数采用原码表示 分析其浮点数表示范围 最大正数最大正数为0 11 1 2011 1即 1 2 9 231该浮点数即为规格化数形式 12 例1 设浮点数的阶码6位 含符号位 尾数为10位 含符号位 阶码采用补码表示 尾数采用原码表示 分析其浮点数表示范围 最小正数非规格化数形式最小正数为0 0 01 210 0即2 9 2 25 2 9 2 32规格化数形式最小正数为0 1 210 02 1 2 25 2 33 13 例1 设浮点数的阶码6位 含符号位 尾数为10位 含符号位 阶码采用补码表示 尾数采用原码表示 分析其浮点数表示范围 最小负数最小负数为 0 1 1 201 1即 1 2 9 2 25 1 1 2 9 231该浮点数即为规格化数形式 14 例1 设浮点数的阶码6位 含符号位 尾数为10位 含符号位 阶码采用补码表示 尾数采用原码表示 分析其浮点数表示范围 最大负数非规格化数形式最大负数为 0 0 01 210 0即 2 9 2 25 2 9 2 32规格化数形式最大负数为 0 1 210 0即 2 1 2 25 2 1 2 32 例2 设浮点数的阶码6位 含符号位 尾数为10位 含符号位 阶码和尾数均采用补码表示 分析其规格化浮点数表示范围 最大正数阶码最大 尾数最大最大正数为0 11 1 211 1 1 2 9 231最小正数最小正数为0 10 00 2 32即2 32 2 1 2 33注意 不是因为0 0 1 2 32不是规格化数 15 例2 设浮点数的阶码6位 含符号位 尾数为10位 含符号位 阶码和尾数均采用补码表示 分析其规格化浮点数表示范围 最小的负数最小负数为 1 00 0 231即231 1 231最大的负数最大负数为 0 10 01 2 32即 2 9 2 1 2 32注意 因有规格化要求 不是 16 17 浮点数的IEEE754标准表示 IEEE InstituteofElectricalandElectronicsEngineers 美国电气及电子工程师学会IEEE是一家总部在美国的工程技术和电子专家的组织 IEEE致力于电气 电子 计算机工程和与科学有关的领域的开发和研究 也是计算机网络标准的主要制定者 为便于软件移植 按照IEEE754标准 实际机器内32位浮点数和64位浮点数的标准格式如下 0 22 23 30 31 23位尾数 仅为数值部分 8位阶码 包括阶符 1位数符 32位浮点数 0 51 52 62 63 64位浮点数 32位浮点数的IEEE754标准表示 数符S 表示浮点数的符号 占1位 0 正数 1 负数 尾数M 23位 原码纯小数表示 小数点在尾数域的最前面 由于原码表示的规格化浮点数要求 最高数值位始终为1 因此该标准中隐藏最高数值位 1 尾数的实际值为1 M 阶码E 8位 采用有偏移值的移码表示 移127码 即E e 127 E的8位二进制数即为移127码的编码 浮点数的真值 N 1 S 1 M 2E 127 19 IEEE754标准格式 64位格式 其真值表示为 x 1 S 1 M 2E 1023e E 1023 20 IEEE754标准的数据表示 32位格式 IEEE754标准中的阶码E正零 负零E与M均为零 正负之分由数据符号确定 正无穷 负无穷E为全1 M为全零 正负之分由数据符号确定 阶码E的其余值 00000001 11111110 为规格化数据 真正的指数e的范围为 126 127 E 00000000 M 0000 0000 E 11111111 M 0000 0000 00000000 11111111 21 IEEE754标准对特殊数据的表示 32位格式 22 23 例2 将 20 59375 10转换成754标准的32位浮点数的二进制存储格式 解 20 59375 10 10100 10011 2将尾数规范为1 M的形式 10100 10011 1 010010011 24e 4可得 M 010010011S 0E 4 127 131 10000011故 32位浮点数的754标准格式为 01000001101001001100000000000000 41A4C000 16 24 单精度浮点数与双精度浮点数 高级语言的float double使用的即是IEEE754规定的格式 float 32位浮点值 也叫单精度浮点数 4字节保存 double 64位浮点值 也叫双精度浮点数 8字节保存 单精度浮点数的例子 1位8位7位8位8位 1100 0 01 25 单精度浮点数与双精度浮点数 除0之外 IEEE754标准中单精度浮点数所能表示的绝对值最小的规格化浮点数的格式为 S0000000100000000000000000000000V 1 S 2 126 1 M 1 S 2 126 1 0 00 0 除 之外 IEEE754标准中单精度浮点数所能表示的绝对值最大的规格化浮点数的格式为 S1111111011111111111111111111111V 1 S 2 127 1 M 1 S 2 126 1 1 11 1 26 求解技巧 例如 将下列十进制数表示成IEEE754格式的32位浮点数二进制存储形式 27 3211 512求解 27 32 27 1 32 00011011 2 2 5尾数 1 1011 阶码 e 5 4 1 E e 127 126IEEE754数据 0011111101011000000000000000000011 512 00001011 2 2 9尾数 1 011 阶码 e 9 3 6 E e 127 121IEEE754数据 0011110010110000000000000000000 27 例 将十进制数 54表示成二进制定点数 16位 和浮点数 16位 其中数值部分10位 阶码部分4位 阶符和数符各取1位 并写出它在定点机和浮点机中的机器数形式 28 浙江大学考研试题 计算机储存程序的特点之一是把数据和指令都作为二进制信号看待 今有一计算机字长32bit 数符位是第31bit 单精度浮点数格式如图所示 对于二进制数10001111111011111100000000000000 表示一个补码整数 其十进制值是多少 表示一个无符号整数 其十进制值是多少 表示一个IEEE754标准的单精度浮点数 其值是多少 29 二进制数10001111111011111100000000000000 表示一个补码整数 其十进制值是多少 作为补码整数 其对应的原码是11110000000100000100000000000000十进制值是 230 229 228 220 214 表示一个无符号整数 其十进制值是多少 作为无符号整数 其十进制值是231 227 226 225 224 223 222 221 219 218 217 216 215 214 30 二进制数10001111111011111100000000000000 作为IEEE754标准的单精度浮点数阶码E是00011111指数e 阶码E 127 00011111 01111111 1100000B 96D尾数M 11011111100000000000000则1 M 1 11011111100000000000000 1 110111111 单精度浮点数值为 X 1 s 1 M 2e 1 110111111 2 96 0 1110111111 2 95 14 16 1 15 16 2 12 16 3 2 95 0 3115 2 95 31 2009考研真题 12 一个C语言程序在一台32位机器上运行 程序中定义了三个变量x y和z 其中x和z是int型 y为short型 当x 127 y 9时 执行赋值语句z x y后 x y和z的值分别是 x 0000007FH y FFF9H z 00000076Hx 0000007FH y FFF9H z FFFF0076Hx 0000007FH y FFF7H z FFFF0076Hx 0000007FH y FFF7H z 00000076H 在32位机上int型变量占4个字节 short占2个字节 32 2010考研真题 14 假定变量i f d数据类型分别为int float double int用补码表示 float和double用IEEE754单精度和双精度浮点数据格式表示 已知i 785 f 1 5678e3 d 1 5e100 若在32位机器中执行下列关系表达式 则结果为真的是 I i int float i II f float int f III f float double f IV d f d fA 仅I和IIB 仅I和IIIC 仅II和IIID 仅III和IV 关键是 两端的数据类型是否一致 33 数据格式 十进制数串的表示方法 BCD码 8421码 每个十进制数位用4个二进制数表示 使用二进制数表示十进制数 主要用于非数值计算的应用领域 采用BCD码表示 一个字节可存放两个十进制数位 节省存储空间 便于直接完成十进制数的算术运算 34 字符与字符串的表示方法 ASCII码 美国国家信息交换标准字符码 包括128个字符 共需7位编码 ASCII码规定 最高位为0 余下7位作为128个字符的编码 最高位的作用 奇偶校验 扩展编码 字符串指连续的一串字符 每个字节存一个字符 当存储字长为2 或4个字节时 在同一个存储单元中 可按从低位字节向高位字节的顺序存放字符串的内容 或按从高位字节向低位字节的次序顺序存放字符串的内容 35 汉字的表示方法 汉字的输入编码目的 直接使用西文标准键盘把汉字输入到计算机 分类 主要有数字编码 拼音码 字形编码三类 区位码汉字库中区号 位号 2020H国标码目的 不同的汉字信息系统之间进行汉字交换 8080H汉字内码 区分与ASCII码 用于汉字信息的存储 交换 检索等操作的机内代码汉字字模码用点阵表示的汉字字形代码 用于汉字的输出 36 中文编码 37 汉字字模码 38 校验码 数据校验 数据校验原因为减少和避免数据在计算机系统运行或传送过程中发生错误 在数据的编码上提供了检错和纠错的支持 数据校验码的定义能够发现某些错误或具有自动纠错能力的数据编码 也称检错码 数据校验的基本原理是扩大码距 码距 任意两个合法码之间不同的二进制位的最少位数 仅有一位不同时 称其码距为1 39 码距及作用 设用四位二进制表示16种状态16种编码都用到了 此时码距为1 任何一种状态的四位码中的一位或几位出错 就变成另一个合法码 无查错能力 若用四位二进制表示8个状态只用其中的8种编码 而把另8种编码作为非法编码 可使码距扩大为2 注意 并不是任选8种编码都可扩大码距 40 校验码的类型 奇偶校验码判断数据中1的个数设置1位校验位 分奇校验和偶校验两种 只能检错 无纠错能力 海明校验码在奇偶校验的基础上增加校验位而得 具有检错和纠错的能力 循环冗余校验码 CRC 通过模2的除法运算建立数据信息和校验位之间的约定关系 具有很强的检错纠错能力 41 奇偶校验码 概念 奇偶校验原理在数据中增加1个冗余位 使码距由1增加到2 如果合法编码中有奇数个位发生了错误 就将成为非法代码 增加的冗余位称为奇偶校验位 校验的类型偶校验 每个码字 包括校验位 中1的数目为偶数 奇校验 每个码字 包括校验位 中1的数目为奇数 校验过程发送端 按照校验类型 在发送数据后添加校验位P 接收端 对接收到的数据 包括校验位 进行同样类型的校验 决定数据传输中是否存在错误 42 奇偶校验码 校验原理 偶校验 在接收端求校验位P D7 D6 D5 D4 D3 D2 D1 D0 P若P 0 则无错 若P 1 则有错 奇校验 在接收端求校验位P D7 D6 D5 D4 D3 D2 D1 D0 P若P 1 则无错 若P 0 则有错 电路实现 一般采用异或电路得到校验位 10101011 求校验码 偶校验码101010111 奇校验码101010110 43 奇偶校验码 例题 1 2 44 奇偶校验码 例题 1 2 45 海明码 海明码是1950年提出的 只要增加少数的几位校验码 即可检测出多位出错 并能自动恢复一或几位出错信息 实现原理 在一个数据中加入几个校验位 每个校验位和某几个特定的信息位构成偶校验的关系 接收端对每个偶关系进行校验 产生校验因子 通过校正因子区分无错和码字中的n个不同位置的错误 不同代码位上的错误会得出不同的校验结果 46 海明码 确定校验位的位数 47 海明码 确定校验位的位置 数据表示数据位D DiDi 1 D1D0 校验位P PjPj 1 P2P1 海明码H 包括数据位和校验位 HmHm 1 H2H1 分组原则每个校验位Pi从低到高被分在海明码中位号2i 1的位置 例如 数据D3D2D1D0 1001 校验位P3P2P1海明码共7位H7H6 H2H1 各位分配如下 P1 P2 P3 D0 D1 D2 D3 48 海明码 校验分组 校验原则海明码的每一位Hi有多个校验位校验 其关系是被校验的每一位位号等于校验它的各校验位的位号之和 每个信息位的位置写成用2的幂次之和的形式 例如H7 D3 参与H1 H2 H4的校验 H6 D2 参与H2 H4的校验 H5 D1 参与H1 H4的校验 H3 D0 参与H1 H2的校验 分组情况 P1 P2 P3 D0 D1 D2 D3 第一组P1 第二组P2 第三组P3 第一组 P1 D3 D1 D0 第二组 P2 D3 D2 D0 第三组 P3 D3 D2 D1 49 海明码 校验位的形成 50 海明码 接收端校验 1 2 接收端接收到数据后 分别求S1 S2 S3 SjS1 第一组中所有位 包括P1 求异或 Sj 第j组中所有位 包括Pj 求异或Sj 1 Pj 1 所有位 包括P1 P2 Pj 求异或当Sj 1 1时 有一位出错 由Sj S3S2S1的编码指出出错位号 将其取反 即可纠错 当Sj 1 0时 无错或有偶数个错 两个错的可能性比较大 当Sj S3S2S1 0 000时 接收的数无错 否则有两个错 51 同上例 接收端接收的数据为接收端求SS1 0 1 0 1 0S2 0 1 0 1 0S3 1 1 0 0 0S4 1 1 0 0 1 1 0 0 0若接收端接收到错误的数据S1 0 1 0 1 0S2 0 1 1 1 1S3 1 1 1 0 1S4 1 1 1 0 1 1 0 0 1 海明码 接收端校验 2 2 第一组 P1 D3 D1 D0 第二组 P2 D3 D2 D0 第三组 P3 D3 D2 D1 无错误 1 S4 1 有错误 S3S2S1 110 H6位有错 应取反 52 练习 设待校验的数据为D7 D0 10101011 写出其海明校验码 解 确定海明校验位的位数因为K 8 由N K r 2r 1 得9 r 2r 校验位的位数为r 4 确定校验位的位置i 121110987654321D7D6D5D4P4D3D2D1P3D0P2P1 分组 N位分r组 53 练习 设待校验的数据为D7 D0 10101011 写出其海明校验码 校验位的形成P1 D6 D4 D3 D1 D0 1 P2 D6 D5 D3 D2 D0 1P3 D7 D3 D2 D1 1 P4 D7 D6 D5 D4 0所以 信息码10101011的海明校验码为 101001011111 54 海明码的纠错与检错能力 一个系统能纠正一位差错时 码距最小是3 码距为3时 或能纠正一位错 或能检测二位错 但不能同时纠正一位错并检测二位错 码距为1至7时 海明码的纠错和检

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论