365文库
登录
注册
2

计算机中数据的所有编码方法毕业论文.doc

115阅读 | 4收藏 | 16页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
计算机中数据的所有编码方法毕业论文.doc第1页
计算机中数据的所有编码方法毕业论文.doc第2页
计算机中数据的所有编码方法毕业论文.doc第3页
计算机中数据的所有编码方法毕业论文.doc第4页
计算机中数据的所有编码方法毕业论文.doc第5页
计算机中数据的所有编码方法毕业论文.doc第6页
计算机中数据的所有编码方法毕业论文.doc第7页
计算机中数据的所有编码方法毕业论文.doc第8页
计算机中数据的所有编码方法毕业论文.doc第9页
计算机中数据的所有编码方法毕业论文.doc第10页
计算机中数据的所有编码方法毕业论文.doc第11页
计算机中数据的所有编码方法毕业论文.doc第12页
计算机中数据的所有编码方法毕业论文.doc第13页
计算机中数据的所有编码方法毕业论文.doc第14页
计算机中数据的所有编码方法毕业论文.doc第15页
计算机中数据的所有编码方法毕业论文.doc第16页
福利来袭,限时免费在线编辑
转Pdf
right
1/16
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
笨蛋傻瓜 上传于:2024-08-17
甘肃学院本科论文设计题目计算机中数据的所有编码方法计算机科学学院系计算机科学与技术专业级级计算计本科班姓名学号指导教师成绩完成时间目录序言论文摘要关键词前言信息编码的概述二进制编码的定义二进制编码的优点数据编码的分类数字编码码字符编码码非编码汉字编码输入码外码国标码与区位码机内码汉字内码输出码汉字的字形码校验码奇偶校验码海明校验码循环冗余校验码总结计算机中数据的各种编码序言论文摘要该论文主要介绍了一些计算机数据的编码方式包括编码码输出码机内码国标码校验码分别详细介绍了各个编码的由来原理方法以及各个编码之间的相互转换关键词编码码输出码机内码国标码校验码前言随着科学技术的不断发展计算机的应用已经大众化人们在娱乐学习工作的方便之余面对的是对科技的升入了解和学习面对这种问题为了我们更好的学习计算机方面的知识应首先了解计算机的基本的编码方法准所周知的是计算机采用的是二进制编码方法但是为了更好的应用高科技术我们推出了许多更加便捷的编码方法这是社会科技一大进步更是提供了学习计算机只是的一个更好的平台相信在以后的研究和探索过程中编码的知识会对你有很大的帮助那么就让我们一起探索编码的奥妙信息编码的概述信息的编码是计算机在进行人机交换信息时用到的信息如数字字母符号等的二进制编码二进制编码的定义二进制编码是用预先规定的方法将文字数字或其他对象编成二进制的数码或将信息数据转换成规定的二进制电脉冲信号计算机中目前最通用的两种字符编码分别是美国信息交换标准代码码和二一十进制编码码在计算机中是采用二进制数因而要在计算机中表示的数字母符号等都要以特定的二进制码来表示这就是二进制编码二进制编码的十进制数码字母与字符的编码字母和各种字符也必须按特定的规则用二进制编码才能在机中表示普通的是采用码的码为大写字母的码为位的简写字节一个字节就是相邻的位二进制数即如的是是字在计算机中和信息处理系统中在存贮传送或操作时作为一个单元的一组字符或一组二进制数通常是位构成一个字在计算机中用二进制编码的优点技术实现简单计算机是由逻辑电路组成逻辑电路通常只有两个状态开关的接通与断开这两种状态正好可以用和表示简化运算规则两个二进制数和积运算组合各有三种运算规则简单有利于简化计算机内部结构提高运算速度适合逻辑运算逻辑代数是逻辑运算的理论依据二进制只有两个数码正好与逻辑代数中的真和假相吻合易于进行转换二进制与十进制数易于互相转换用二进制表示数据具有抗干扰能力强可靠性高等优点因为每位数据只有高低两个状态当受到一定程度的干扰时仍能可靠地分辨出它是高还是低一位二进制代码叫做一个码元它有和两种状态个码元可以有种不同的组合每种组合称为一个码字用不同码字表示各种各样的信息就是二进制编码计算机除了用于数值计算之外还要进行大量的文字信息处理也就是要对表达各种文字信息的符号进行加工例如计算机和作为外设的键盘显示器打印机之间的通信都是采用字符输出输入的数据编码的分类数据的编码主要分为数字编码字符编码汉字编码数字编码二一十进制编码码是一种数字编码二进制编码的十进制数简称码这种方法是用位二进制码的组合代表十进制数的十个数符位二进制数码有种组合原则上可任选其中的种作为代码分别代表十进制中的这十个数符最常用的码称为码分别是位二进数的位取值这种编码专门解决用二进制数表示十进制数的问题码码可分为两种压缩型码和非压缩型码压缩型码是用一个字节表示两位十进制数每个十进制数用个二进制数表示非压缩型码是用一个字节表示一位十进制数一位十进制数占用低位二进制数高位二进制数为压缩码与非压缩码的区别压缩码的每一位用位二进制表示一个字节表示两位十进制数例如表示十进制数非压缩码用个字节表示一位十进制数高四位总是低位的表示例如表示十进制数码与十进制数的转换码与十进制数的转换关系直观相互转换也很简单将十进制数转换为码如若将码转换为十进制数如注意当把它视为二进制数时其值为但作为位码时其值为如将其视为二进制数其值为但不能当成码因为在码中它是个非法编码码的格式计算机中的码经常使用的有两种格式即分离码组合码所谓分离码即用一个字节的低四位编码表示十进制数的一位例如数的存放格式为其中表示无关值组合码是将两位十进制数存放在一个字节中例的存放格式是码的加减运算由于编码是将每个十进制数用一组位二进制数来表示因此若将这种码直接交计算机去运算由于计算机总是把数当作二进制数来运算所以结果可能会出错例用码求解决的办法是对二进制加法运算的结果采用加修正这种修正称为调整即将二进制加法运算的结果修正为码加法运算的结果两个两位数相加时对二进制加法运算结果采用修正规则进行修正修正规则如果任何两个对应位数相加的结果向高一位无进位若得到的结果小于或等于则该不需修正若得到的结果大于且小于时该位进行加修正如果任何两个对应位数相加的结果向高一位有进位时即结果大于或等于该位进行加修正低位修正结果使高位大于时高位进行加修正例如用码求解的码的码的码结果不对的码修正码的码结果正确出错原因十进制数相加是逢十进一而位二进制数相加相当于十六进制数相加是逢十六进一所以当相加结果超过时将比正确结果少因此结果出错解决办法对二进制加法运算结果采用加修正从而将二进制加法运算的结果修正为码加法运算结果编码这是一种使用最广的码是一种有权码其各位的权分别是从最有效高位开始到最低有效位在使用码时一定要注意其有效的编码仅十个即四位二进制数的其余六个编码不是有效编码编码码也是一种有权码其从高位到低位的权分别为其也可以用四位二进制数来表示一位十进制数余码余码也是一种码但它是无权码但由于每一个码对应的码之间相差故称为余码其一般使用较少故只须作一般性了解其中最常用是有权码余码格雷码是无权码十进制数字码码余码格雷码码表示的数形式上像二进制数但不是真正的二进制数字符编码字符的表示采用字符编码即用规定的二进制数表示文字和符号的方法码码美国标准信息交换码美国标准信息交换码为国际标准在全世界通用是用一个字节来表示一个字符采用位二进制代码来对字符进行编码最高为一般为位二进制代码能表示种不同的字符其中包括数字英文大小写字母标点符号及控制字符等码编码表码是使用最多和最普遍的字符编码即美国信息交换标准代码码有位码和位码两种形式位码用七位二进制数进行编码的可以表示个字符最高位恒为位码用位二进制数进行编码可以表示种字符当最高位恒为与位码相同称为基本码当最高位为时形成扩充码各国一般把该码作为本国语言的字符代码键盘输入的数码个大小写英文字母个标点符号运算符号专用符号和个控制符采用位码编码码是一种西文机内码码是位二进制编码而计算机的基本存储单位是字节一个字节包含个二进制位因此码的机内码要在最高位补一个在存储处理和传送信息时最高位常用做奇偶校验位用来检验代码在存储和传送过程中是否发生错误奇校验时每个代码的二进制形式中应有奇数个偶校验时每个代码的二进制形式中应有偶数个以后公司将码的位数增加了一位用位二进制数构成一个字符编码共有个符号扩展后的码除了原先的个字符外又增加了一些常用的科学符号和表格线条非编码英语用个符号编码就够了但是用来表示其他语言个符号是不够的比如在法语中字母上方有注音符号它就无法用码表示于是一些欧洲国家就决定利用字节中闲置的最高位编入新的符号比如法语中的的编码为二进制这样一来这些欧洲国家使用的编码体系可以表示最多个符号但是这里又出现了新的问题不同的国家有不同的字母因此哪怕它们都使用个符号的编码方式代表的字母却不一样比如在法语编码中代表了在希伯来语编码中却代表了字母在俄语编码中又会代表另一个符号但是不管怎样所有这些编码方式中表示的符号是一样的不一样的只是的这一段正如上一节所说世界上存在着多种编码方式同一个二进制数字可以被解释成不同的符号因此要想打开一个文本文件就必须知道它的编码方式否则用错误的编码方式解读就会出现乱码为什么电子邮件常常出现乱码就是因为发信人和收信人使用的编码方式不一样解释同一个文本文件假设内容是用英语写的在英语编码的情况下每个字符会和一个二进制数对应如类似然后存到计算机中这时把这个英语文件发给一个俄语国家的用户计算机传输的是二进制流即之类的数据到了俄语用户这方需要有它的俄语编码方式进行解码把每个二进制流转为字符显示由于俄语编码表中对每串二进制流数据的解释方式不同同一个数据如在英语中可能代表而在俄语中则代表这样就会产生乱码这是我个人的理解编码日文编码等也是非编码是要通过转换表转换成编码的要不怎么显示出来呢可以想象如果有一种编码将世界上所有的符号都纳入其中每一个符号都给予一个独一无二的编码那么乱码问题就会消失这就是就像它的名字都表示的这是一种所有符号的编码需要注意的是只是一个符号集只是一种规范标准它只规定了符号的二进制代码却没有规定这个二进制代码应该如何存储在计算机上比如汉字严的是十六进制数转换成二进制数足足有位也就是说这个符号的表示至少需要个字节表示其他更大的符号可能需要个字节或者个字节甚至更多这里就有两个严重的问题第一个问题是如何才能区别和计算机怎么知道三个字节表示一个符号而不是分别表示三个符号呢第二个问题是我们已经知道英文字母只用一个字节表示就够了如果统一规定每个符号用三个或四个字节表示那么每个英文字母前都必然有二到三个字节是这对于存储来说是极大的浪费文本文件的大小会因此大出二三倍这是无法接受的它们造成的结果是出现了的多种存储方式也就是说有许多种不同的二进制格式可以用来表示在很长一段时间内无法推广直到互联网的出现互联网的普及强烈要求出现一种统一的编码方式就是在互联网上使用最广的一种的实现方式其他实现方式还包括和不过在互联网上基本不用重复一遍这里的关系是是的实现方式之一它规定了字符如何在计算机中存储传输等最大的一个特点就是它是一种变长的编码方式它可以使用个字节表示一个符号根据不同的符号而变化字节长度的编码规则对于单字节的符号字节的第一位设为后面位为这个符号的码因此对于英语字母编码和码是相同的对于字节的符号第一个字节的前位都设为第位设为后面字节的前两位一律设为剩下的没有提及的二进制位全部为这个符号的码汉字编码英文符号由以上所述编码表示即成但汉字与西方文字不同英文仅用个英文字母和其他符号即可拼组成大量的单词句子这与计算机可以接受的信息形态和特点基本一致所以处理起来比较容易英文字符在计算机上的输入及输出也非常简单因此英文字符的输入存储内部处理和输出都可以只用同一个编码如码汉字是一种象形文字字数极多现代汉字中仅常用字就有六七千个总字数高达万个以上且字形复杂要在计算机中处理汉字必须解决以下几个问题首先是汉字的输入即如何把结构复杂的方块汉字输入到计算机中去这是汉字处理的关键其次汉字在计算机内如何表示和存储如何与西文兼容最后如何将汉字的处理结果从计算机内输出必须将汉字代码化即对汉字进行编码使之转换成键盘上具有的符号一般是英文字母对应于上述汉字处理过程中的输入内部处理及输出这三个主要环节每一个汉字的编码都包括输入码交换码内部码和字形码在计算机的汉字信息处理系统中处理汉字时要进行如下的代码转换输入码交换码内部码字形码汉字也是字符与西文字符比较汉字数量大字形复杂同音字多这就给汉字在计算机内部的存储传输交换输入输出等带来了一系列的问题为了能直接使用西文标准键盘输入汉字必须为汉字设计相应的编码以适应计算机处理汉字的需要汉字信息处理过程输入码机内码输出码汉字的输入计算机在处理汉字信息时也要将其转化为二进制代码计算机对汉字进行编码输入码外码通过键盘向计算机输入汉字的编码国标码与区位码初期的汉字系统字数不足很多事物以通假字表示使文字的表述存在较大歧义为完善表述的明确性汉字经历了逐步复杂字数大量增加的阶段汉字数量的过度增加又引发了汉字学习的困难单一汉字能表示的意义有限于是有许多单一的汉语意义是用汉语词语表示例如常见的双字词目前汉语书写的发展多朝向造新词而非造新字汉字编码系统为进行信息交换各汉字使用地区都制订了一系列汉字字符集标准一级常用汉字个按拼音字母顺序排列二级汉字流水码电报码区位码国标码音码全拼码简拼码双拼码形码五笔字型大众码仓吉码音形码自然码首尾码输入码输入设备主机输出设备国标码汉字内码存储或处理输入编码个按部首排列个非汉字图形字符共个字法字符所有汉字字符用个字节表示高字节共分为个区区低字节分为个位位汉字所在的区号和位号共同组合成该汉字的区位码区位码为十进制非汉字图形字符排在区一级汉字排在区二级汉字排在区例中区号位号区位码为国区号位号区位码为国标码的转换将汉字的区位码表示成进制在加上即国标码区位码中的国标码机内码汉字内码汉字内码是用于汉字信息的存储交换检索等操作的机内代码一般采用两个字节表示汉字可以通过不同的输入法输入但其内码在计算机中是唯一的英文字符的机内代码是七位的码当用一个字节表示时最高位为为了与英文字符能相互区别汉字机内代码中两个字节的最高位均规定为机内码等于汉字国标码加上例如中字的机内码为汉字内码是供计算机内部进行存储处理和传输时统一使用的代码西文字符采用位码作为机内码汉字机内码用两个字节来保存字节高位为前一字节保存高位内码后一字节保存低位内码即国标码的字节高位恒为机内码与国标码的换算关系汉字内码汉字国标码中的机内码国的机内码一个汉字可有几个外码但只有一个机内码输出码输出码是对汉字字形经过点阵数字化后的一串二进制数又称为汉字字形码或字模一般显示用点阵打印用等点阵点阵越多打印的字体越好看但占用的存储空间也越大汉字的字形码字形码是表示汉字字形信息汉字的结构形状笔划等的编码用来实现计算机对汉字的输出显示打印每一个汉字的字形都必须预先存放在计算机内例如国标汉字字符集的所有字符的形状描述信息集合在一起称为字形信息库简称字库通常分为点阵字库和矢量字库目前汉字字形的产生方式大多是用点阵方式形成汉字即是用点阵表示的汉字字形代码根据汉字输出精度的要求有不同密度点阵汉字字形点阵有点阵点阵点阵等汉字字形点阵中每个点的信息用一位二进制码来表示表示对应位置处是黑点表示对应位置处是空白字形点阵的信息量很大所占存储空间也很大例如点阵每个汉字就要占个字节点阵的字形码需要用字节因此字形点阵只能用来构成字库而不能用来替代机内码用于机内存储字库中存储了每个汉字的字形点阵代码不同的字体如宋体仿宋楷体黑体等对应着不同的字库在输出汉字时计算机要先到字库中去找到它的字形描述信息然后再把字形送去输出校验码计算机系统运行时各个部之间要进行数据交换为确保数据在传送过程正确无误常使用检验码我们常使用的检验码有三种分别是奇偶校验码海明校验码和循环冗余校验码校验码定义是一种具有发现某些错误或自动改正错误能力的一种数据编码方法校验码目的用于检查或纠正在存取读写和传送数据的过程中可能出现的错误校验码的基本思想冗余校验即通过在有效信息代码的基础上添加一些冗余位来构成整个校验码校验码的构成有效信息校验位由有效信息产生的冗余位校验码原理系统内部预先设置根据校验方法所导出的校验公式编制成的校验程序当带有校验码的代码输入系统时系统利用校验程序对输入的本体码进行运算得出校验结果之后再将校验结果与输入代码的校验码进行对比来检测输入的正确与否如果两者一致则表明代码输入正确系统允许进入如果不一致则表明代码输入有误系统拒绝进入并要求代码重新输入只有当合法码之间的码距时校验码才具有检错能力当码距时校验码才具有纠错能力码距一种码制的码距是指该码制中所有代码之间的最小距离两个代码之间的距离在一种编码中在任何两个代码之间逐位比较对应位值不同的个数常见校验码奇偶校验码码距检错码能检验奇数位错误通常用于磁带或者串行通信中海明校验码码距纠错码能纠正位或多位错误通常用于磁盘冗余阵列中校验码码距纠错码能纠正位错误通常用于磁盘或数据块的校验奇偶校验码奇偶校验码最简单但只能检测出奇数位出错如果发生偶数位错误就无法检测但经研究是奇数位发生错误的概率大很多而且奇偶校验码无法检测出哪位出错所以属于无法矫正错误的校验码奇偶校验码是奇校验码和偶校验码的统称它们都是通过在要校验的编码上加一位校验位组成如果是奇校验加上校验位后编码中的个数为奇数个如果是偶校验加上校验位后编码中的个数为偶数个例原编码奇校验偶校验校验方法在有效信息位的前面或者后面或者中间添加一位奇偶校验位就组成了奇偶校验码奇校验码奇校验位的取值应该使整个奇校验码中的个数为奇数偶校验码偶校验位的取值应该使整个偶校验码中的个数为偶数例分别写出的奇偶校验码假设校验位位于末尾奇校验码偶校验码海明校验码海明码也是利用奇偶性来校验数据的它是一种多重奇偶校验检错系统它通过在数据位之间插入个校验位来扩大码距从而实现检错和纠错设原来数据有位要加入位校验码怎么确定的大小呢个校验位可以有代表的次方个编码其中有一个代表是否出错剩下个编码则用来表示到底是哪一位出错因为个数据位和个校验位都可能出错所以满足设个校验码为个数据位为产生的海明码为如有个数据位根据可以知道最小是那么得到的海明码是然后怎么知道校验哪个位呢自己可以列个校验关系表海明码下标校验位组从表中可以看出校验校验校验校验循环冗余校验码码利用生成多项式为个数据位产生个校验位进行编码其编码长度为所以又称码码广泛应用于数据通信领域和磁介质存储系统中理论非常复杂一般书就给个例题讲讲方法现在简单介绍下它的原理在位信息码后接位校验码对于一个给定的码可以证明数学高手自己琢磨证明过程存在一个最高次幂为的多项式根据可以生成位信息的校验码被称为生成多项式用表示个信息位把左移位就是相当于给校验位空出个位来了给定一个生成多项式可以求出一个校验位表达式用去除生成多项式商为余数是所以有就是所求的位码由上式可以看出它是生成多项式的倍式所以如果用得到的位码去除如果余数是就证明数据正确否则可以根据余数知道出错位在运算过程中四则运算采用运算后面介绍即不考虑进位和借位所以上式等价于总结通过这次论文设计我们了解到以前学习中的不足这些编码方式在以前的计算机组成原理和数字逻辑学习中都有接触但是了解不深但是在学习过程中我们不但基本了解到了计算机数据有哪几种编码方式而且还了解到了各种编码方式的由来原理特点编码方法等一系列有关编码的知识对于编码我们可以发现同一个位二进制代码表示的数当认为它表示的是二进制数和认为它表示的是二进制编码的十进制数时数值是不相同的对于码在计算机的存储单元中一个码值占一个字节个二进制位其最高位用作奇偶校验位所谓奇偶校验是指在代码传送过程中用来检验是否出现错误的一种方法一般分奇校验和偶校验两种奇校验规定正确的代码一个字节中的个数必须是奇数若非奇数则在最高位添偶校验规定正确的代码一个字节中的个数必须是偶数若非偶数则在最高位添一个码由位二进制数码组成的其中用于表达字符的二进制码有个最后一个用于检测错误或空闲不用除此之外还培养了团队合作精神我们分工合作在有限的时间内掌握了编码的基本知识在老师的帮助下及时的修改错误弥补不足完成了论文参考文献计算机组成原理清华大学出版社数字逻辑电子科技大学出版社计算机导论天津大学出版社微机原理与接口技术机械工业出版社微型计算机原理与汇编语言与接口技术中国水利水电出版社
tj