




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章计算机中数据的表示 学时 6个学时重点 掌握各种数据的编码方法 主要内容 概述字符编码中文编码逻辑数据数值数据校验码 概述 计算机中最重要的功能是处理信息 如 数值 文字 符号 语言和图象等 计算机内部 各种信息都必须采用数字化编码的形式被传送 存储 加工 因此掌握信息编码的概念与处理技术是至关重要的 所谓编码 就是用少量简单的基本符号 选用一定的组合规则 以表示出大量复杂多样的信息 概述 常用的信息分为 定点数 fixed point 数值信息浮点数 floating point 字符 character 非数值信息汉字 Chinesecharacter 逻辑数据 logicaldata 字符编码 用一定位数的二进制数 0 和 1 进行编码给出 常用的字符编码ASCII码 ASCII AmericanStandardCodeforInformationInterchange 字符编码 ASCII码是美国信息交换标准代码 AmericanStandardCodeforInformationInterchange 包括0 9十个数字 大小写英文字母及专用符号等95种可打印字符 Computer 0100001101101111011011010111000001110101011101000110010101110010 7654321 中文编码 汉字输入码 为进行汉字输入 将汉字代码化 汉字机内码 在计算机内部进行汉字处理 汉字字型码 汉字输出时的编码 国标码 国家标准信息交换用汉字编码 国标码采用双字节的编码方式 国标码收入6763个汉字 682个西文字符 图符 构成94 94的矩阵 每一行为 区 每一列为 位 国标区位码 机内码 啊 区位码 1601 1001H 0001000000000001 1001000010000001 啊 机内码 B0A1H 中文编码 中文编码 字符代码化 输入 数字码拼音码字形码 中文编码 逻辑数据 逻辑型数据只有两个值 真和假 正好可以用二进制码的两个符号分别表示 例如1表示真则0表示假不必使用另外的编码规则 对逻辑型数据可以执行逻辑的与或非等基本逻辑运算 其规则如下 逻辑数据 XYX与YX或YX的非00001010111001011110 数值数据 定点数 浮点数十进制数串 数值数据 定点数的表示方法 定点数 定点纯小数和定点纯整数定点纯小数 约定小数点的位置隐含在符号位之后 最高数值位之前 定点纯整数 约定小数点隐含在数值最低位的右边 简称定点整数 数值数据 定点数的表示方法 原码表示法 Sign Magnituderepresentation 补码表示法 TwosComplementrepresentation 反码表示法 Nagation 移码表示法 数值数据 定点数的表示法 原码 定点小数表示 Ns N1N2 Nn定义 X 原 定点整数表示 NsN1N2 Nn定义 X 原 X 1 X 0 X 1 1 X 0 X 2n X 0 X 2n 2n X 0 数值数据 定点数的表示法 原码 实例 X1 0 10110 0 101100 0000 X 原 0101101101100000010000实例 X1 10110 101100000 X 原 0101101101100000010000 数值数据 定点数的表示法 原码 性质 原码为符号位加数的绝对值 0正1负原码零有两个编码 0和 0编码不同原码难以用于加减运算 但乘除方便N 1位二进制原码所表示的范围 小数 MAX 1 2 n MIN 1 2 n 整数 MAX 2n 1 MIN 2n 1 数值数据 定点数的表示法 补码 补码是在 模 和 同余 的概念下导出的 模 是指一个计量系统的计量范围 即产生 溢出 的量 数值数据 定点数的表示法 补码 现在是北京时间3点整 而时钟却指向5点 5 2 3 5 10 3 12自动丢失 12就是模 数值数据 定点数的表示法 补码 继续推导 5 2 5 10 MOD12 5 2 5 10 MOD12 2 10 MOD12 结论 可以说 在模为12的情况下 2的补码就是10 一个负数用其补码代替 同样可以得到正确的运算结果 数值数据 定点数的表示法 补码 进一步结论 在计算机中 机器能表示的数据位数是一定的 其运算都是有模运算 如果是n位整数 其模为2n 如果是n位小数 其模为2 若运算结果超出了计算机所能表示的数值范围 则只保留它的小于模的低n位的数值 超过n位的高位部分就自动舍弃了 数值数据 定点数的表示法 补码 定义 任意一个X的补码为 X 补 可以用该数加上其模M来表示 X 补 X M 数值数据 定点数的表示法 补码 定点小数表示 Ns N1N2 Nn定义 X 补 MOD2 定点整数表示 NsN1N2 Nn定义 X 补 MOD2n 1 X 2 X 0 X 1 1 X 0 X 2n 1 X 0 X 2n 2n X 0 数值数据 定点数的表示法 补码 实例 X1 0 10110 0 101100 0000 X 补 01011010101000000实例 X1 10110 101100000 X 补 01011010101000000 数值数据 定点数的表示法 补码 由于正数的补码就是正数本身 故着重讲解负数求补码的方法 负数求补码 数值数据 定点数的表示法 补码 1 由定义求例 X 补 2 X 10 0 1101001 1 0010111 数值数据 定点数的表示法 补码 例 X 1101001解 X 补 28 X 100000000 1101001 10010111 反过来 由补码求真值 只要将公式进行交换即可 数值数据 定点数的表示法 补码 2 由原码求补码除符号位以外 其余各位求反 末位加1 例 X 0 0101011解 X 原 10101011 X 补 1 1 1 1 0 0 0 0 1 11010101 由补码求原码 此规则同样适用 数值数据 定点数的表示法 补码 由原码求补码的简便原则 除符号位以外 其余各位按位取反 从最低位开始遇到的第一个1以前的各位保持不变 例 X 原 110110100 X 补 101001 100 100 由 X 补求 X 补 此规则同样适用 数值数据 定点数的表示法 补码 3 由 X 补求 X 补 连符号位一起各位求反 末位加1 例 X 补 1 1010101解 X 补 11010101 X 补 0 0 0 0 1 1 1 0 1 00101011 数值数据 定点数的表示法 补码 4 由 X 补求 1 2X 补 将 X 补的符号位和数值位一起向右移动一次 符号位移走后保持原来的值不变 例 X 补 1 0 0 1 1 0 0 0 X 2 补 1 0 1 0 1 0 0 0 1 这称为 算术移位 你会求 X 4 补和 X 8 补吗 数值数据 定点数的表示法 补码 性质 0的补码是唯一的补码便于加减运算n 1位补码所能表示的数 小数 MAX 1 2 n MIN 1整数 MAX 2n 1 MIN 2n 数值数据 定点数的表示法 反码 定点小数表示 Ns N1N2 Nn定义 X 反 定点整数表示 NsN1N2 Nn定义 X 反 X 2 2 n X 0 X 1 1 X 0 X 2n 1 1 X 0 X 2n 2n X 0 数值数据 定点数的表示法 反码 由原码求反码 如果X为正数 则 X 反 X 原 如果X为负数 则将 X 原除符号位以外 每位都变反 可得到 X 反 实例 X1 0 10110 0 101100 0000 X 反 0101101010010000011111实例 X1 10110 101100000 X 反 0101101010010000011111 数值数据 定点数的表示法 移码 对于n 1位数NsN1N2 Nn定义 X 移 2n X由于移码是在原值X上加一个2n 所以也称为增码 因此 符号为1时 表示正数 符号为0时 表示负数 X 1101010 X 移 27 X 11101010 2n X 2n 数值数据 定点数的表示法 移码 由 X 补求 X 移 只要将 X 补的符号位求反 就可得到 X 移 性质 若 X1 移 X2 移 则有X1 X2 数值数据 浮点数表示法 定义 任意一个R进制都可以通过移动小数点的位置写成N RE M式中 R式基数 可以取2 8 16 一旦定义则不能改变 是隐含的 M是纯小数 含数的符号 称为尾数 表示数N的全部有效数字 E是阶码 纯整数 制粗小数点在该数中的位置 由于阶码可以取不同的数值 所以 小数点的位置是不确定的 这种数被称为浮点数 数值数据 浮点数表示法 由于基数在系统中是隐含约定的 不需要用代码表示 所以浮点数只需用一对定点数 阶码和尾数 表示 其中 符号表示数的正负 阶码表示小数点的位置 而尾数表示有效数字 数值数据 浮点数表示法 表数范围 设l和n分别表示阶码和尾数的位数 均不包含符号位 阶码和尾数均用原码表示 则浮点数的表示范围是 22l 1 1 2 n N 22l 1 1 2 n 思考 如果尾数和阶码各用补码表示 则浮点数的表数范围如何 数值数据 浮点数表示法 定义 所谓规格化数 就是非0的尾数 其绝对值应大于或等于0 5 判别方法 如果用原码表示 规格化数的尾数应满足1 2 S S 1 这样 用补码表示的规格化尾数即为尾数数值最高位与符号位相反 规格化 存储在计算机中的浮点数以及运算结果的浮点数都应为规格化数 如果尾数不是规格化数 要用移位方法把他变为规格化数 这种处理过程 称为规格化 数值数据 浮点数表示法 IEEE754标准IEEE754标准定义了四种浮点数的基本格式 单精度格式 扩展单精度格式 双精度格式 扩展双精度格式 对于规格化的浮点数 IEEE754规定在小数点的左边有一隐含位 作为二进制整数的个位 由于该位为1 不需要存储 在运算时 自动加上该位参加运算 请同学们自学IEEE754标准 下面的知识不好理解 请特别专心 休息1分钟 看个小故事 陈阿土 陈阿土是台湾的农民 从来没有出过远门 攒了半辈子的钱 终于参加一个旅游团出了国 国外的一切都是非常新鲜的 关键是 陈阿土参加的是豪华团 一个人住一个标准间 这让他新奇不已 早晨 服务生来敲门送早餐时大声说道 GOODMORNINGSIR 陈阿土愣住了 这是什么意思呢 在自己的家乡 一般陌生的人见面都会问 您贵姓 于是陈阿土大声叫道 我叫陈阿土 如是这般 连着三天 都是那个服务生来敲门 每天都大声说 GOODMORNINGSIR 而陈阿土亦大声回道 我叫陈阿土 但他非常的生气 这个服务生也太笨了 天天问自己叫什么 告诉他又记不住 很烦的 终于他忍不住去问导游 GOODMORNINGSIR 是什么意思 导游告诉了他 天啊 真是丢脸死了 陈阿土反复练习 GOODMORNINGSIR 这个词 以便能体面地应对服务生 又一天的早晨 服务生照常来敲门 门一开陈阿土就大声叫道 GOODMORNINGSIR 与此同时 服务生叫的是 我是陈阿土 这个故事告诉我们 人与人交往 常常是意志力与意志力的较量 不是你影响他 就是他影响你 而我们要想成功 一定要培养自己的影响力 只有影响力大的人才可以成为最强者 校验码 为了提高计算机的可靠性 除了采取选用更高可靠性的器件 更好的生产工艺等措施之外 还可以从数据编码上想一些办法 即采用一点冗余的线路 在原有数据位之外再增加一到几位校验位 使新得到的码字带上某种特性 之后则通过检查该码字是否仍保持有这一特性 来发现是否出现了错误 甚至于定位错误后 自动改正这一错误 这就是我们这里说的检错纠错编码技术 校验码 先介绍一个基本概念 码距 是指两个合法码之间至少有几位二进制位不相同 校验码 三种常用的检错纠错码 奇偶检错码用于并行数据传送中海明检错与纠错码用于并行数据传送中循环冗余码用于串行数据传送中 校验码 奇偶校验码 奇偶校验码 用于并行码检错原理 在k位数据码之外增加1位校验位 使K 1位码字中取值为1的位数总保持为偶数 偶校验 或奇数 奇校验 例如 0001100010000101010010110101原有数字位两个新的码字 偶校验 奇校验 校验位 校验码 奇偶校验码 奇偶校验码的实现电路奇较验偶校验出错指示 同左侧电路 P 校验位 八位数据位 D7D6D5D4D3D2D1D0 p 译码电路 编码电路 校验码 海明校验码 海明校验码 是由RichardHamming于1950年提出的 这种编码能纠正一位出错 并能自动恢复出错位的校验码 海明不等式 2r k r 1如要能检测与自动校正一位错 并能发现两位错 此时校验位的位数r和数据位的位数k应满足下述关系 2r 1 k r 校验码 海明校验码 数据位和校验位的对应关系表 校验码 海明校验码 海明码的编码规则 1 校验位与数据位之和为m 每个校验位Pi在海明码中被分在位号为2i 1的位置 其余各位为数据位 并按从低位向高位逐位依次排列的关系分配各数据位 2 海明码的每一位码Hi由多个校验位校验 其关系是被校验的每一个位位号要等于校验它的各校验位的位号之和 3 在增大合法码的码距时 使所有码的码距尽量均匀的增大 以保证对所有码的验错能力平衡提高 校验码 海明校验码 举例 为一个8位二进制树编海明码 K 8 r 5解 1 根据规则1 Pi应放在1 2 4 8 16的位置上 即 13121110987654321 P5D8D7D6D5P4D4D3D2P3D1P2P1 校验码 海明校验码 2 根据规则2 校验码 海明校验码 5个校验位只与本身有关 数据位则与多个校验位有关 D1由P1和P2校验 D3由P2和P4校验等 P1校验D1 D2 D4 D5 D7P2校验D1 D3 D4 D6 D7P3校验D2 D3 D4 D8P4校验D5 D6 D7 D8P5校验D1 D2 D3 D5 D6 D8 当一位数据发生变化时 必将引起三个Pi的变化 即合法海明码的码距都是4 校验码 海明校验码 按偶校验写出校验方程 校验码 海明校验码 举例 假设要传诵的数据为10110110 根据校验方程 求得 P1 0 P2 0 P3 1 P4 1 P5 1所以 海明码为1101110111000 校验码 海明校验码 检错和纠错当S1 S5全为零时 表明无错 当S1 S5中仅有一位不为0时 说明有一个校验位出错 当有两位不为0时 表明两位海明码出错 当三位不为0时 表明一个数据位出错 出错的为数由S4 S1四位得编码值指明 循环冗余码 用于多位串行数据传送中的检错纠错处理 在k位数据位串行移位输出的过程中 用带有异或门控制的移位寄存器形成r个校验位的值 跟随在数据位之后传送走 在接收端再对k r位的码字进行合法与出错检查 若可能则自动改错 循环冗余码 模2四则运算 模2四则运算是以2为模 按位相加的运算 在运算中不考虑借位和进位 加减法 0 0 0 0 1 1 1 0 1 1 1 0乘法 按模2加求部分积之和除法 按模2减求部分余数 1010 101 1010 0000 1010 100010 10000 101 1 101 010 0 000 10 0 1 101 01 商 余数 循环冗余码 循环码的编制原理 设待编码的有效信息以多项式M x 表示 用约定的一个多项式G X 去除 一般情况下能得到一个商Q X 和余数R X M x Q x G x R x M x R x Q x G x 显然 将M x 减去余数R x 就必定能为G x 所除尽 因而可以设想让M x R x 作为编好的校验码送往目标部件 当从目标部件取得校验码时 仍用约定的多项式G x 去除 若余数为0 表明该校验码正确 若余数不为0 表明出错 在进一步由余数确定出哪一位出错 从而加以纠正 循环冗余码 循环码的编制原理 例 对四位有效信息 1100 做循环校验编码 选择的生成多项式G x 1011 解 将待编码的N位有效信息码组表示为多项式M x M x X3 X2 1100 将M x 左移r位 得M x xr 其目的是空出r位 以便拼装r位余数 校验位 M x x3 x6 x5 1100000 用r 1位的生成多项式G x 对M x xr做模2除 循环冗余码 循环码的编制原理 G x X3 X 1 1011 r 1 4 M x X311000001110 010G x 10111011 4 将左移r位后的待编有效信息与余数R x 做模2加 即形成循环校验码 M x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牛津6年级期末数学试卷
- 清华强基计划数学试卷
- 华夏盛典营销活动策划方案(3篇)
- 门店施工方案范本(3篇)
- 农村小型鱼池施工方案(3篇)
- 海南景区喷泉施工方案(3篇)
- 美式小区施工方案(3篇)
- 北京市昌平区2024-2025学年八年级下学期第一次月考历史题库及答案
- 安徽省六安市金安区2023-2024学年高二上学期第二次月考生物考点及答案
- 心动传媒面试题目及答案
- 北京市东城区2024-2025学年高一下学期期末生物试题
- 养老机构经营与管理课件
- 余华《活着》人物介绍
- 电梯型式试验规则
- 教师法治素养提升专题讲座
- 广西2025年初中学业水平考试英语真题(含答案及听力音频听力原文)
- 财务给研发培训课件
- 2025至2030中国汽车空调压缩机行业产业运行态势及投资规划深度研究报告
- 2025年人工流产并发症及其护理试题
- 婴幼儿托育服务与管理专业职业生涯规划
- 2025至2030年中国自动化生产线行业市场运行态势及未来发展潜力报告
评论
0/150
提交评论