非数值数据的编码表示


非数值数据:逻辑值、字符等数据都是非数据值数据,在机器内部它们也用二进制表示。

逻辑值:

逻辑数据和数值数据都是一串0/1的序列,在形式上无任何差异,需要通过指令的操作码类型来识别他们

西文字符:

西文字符由拉丁字母、数字、标点符及一些特殊符号所组成,它们统称为字符


汉字字符

汉字系统必须处理这几种汉字代码:输入码、内码、字模点阵码

汉字特点

  • 汉字是表意文字,-个字就是-个方块图形
  • 汉字数量巨大,总数超过6万字,给汉字在计算机内部的表示、汉字的传输与交换、 汉字的输入和输出等带来了一系列问题

编码形式:

输入码:对汉字用相应按键进行编码表示,用于输入。

内码:用于在系统中进行存储、查找、传送等处理。

  • 字模点阵或轮廓描述:描述汉字字模点阵或轮廓,用于显示/打印

输入码:汉字的输入码的码元(及组成编码的基本元素)是西文键盘中的某个按键
汉字内码的选择考虑因素:不能有二义性即不能和ASCII码有相同的编码、要与汉字在字库的位置有关系以便查找处理、编码应当尽量短
GB2312国标字符集:由三部分组成,第一部分是字母、数字和各种符号,包括英文、俄文、日文平假与片假名、罗马字母、汉语拼音等共687个,第二部分分为一级常用汉字,共375个,按汉语拼音排列,第三部分分为二级常用字,共3008个,按偏旁部首排列

GB2312-80字符集:

  • 字母、数字和各种符号,包括英文、俄文、日文平假名与片假名、罗马字母、汉语拼音等共687个.
  • 一级常用汉字,共3755个,按汉语拼音排列.
  • 二级常用汉字,共3008个,不太常用,按偏旁部首排列

汉字的区位码

  • 码表由94行、94列组成,行号为区号,列号为位号,各占7位
  • 指出汉字在码表中的位置,共14位,区号在左)位号在右

汉字的国标码

  • 每个汉字的区号和位号各自加上32(20H),得到其“国标码”
  • 国标码中区号和位号各占7位。在计算机内部,为方便处理与存储,前面添一个0,构成一个字节

多媒体信息的表示

图形、图像、音频、视频等信息在机器内部也用0和1表示。多媒体信息用一个复杂的数据结构来描述,其中的基本数据或者是数值数据,或者是用0/1编码的非数值数据。

  • 图形用构建图形的直线或曲线的坐标点及控制点来描述,而这些坐标点或控制点则用数值数据描述。

  • 图像用构成图像的点(像素)的亮度、颜色或灰度等信息来描述,这些亮度或颜色等值则用数值数据描述。

  • 音频信息通过对模拟声音进行采样、量化(用二进制编码)来获得,因此量化后得到的是一个数值数据序列(随时间变化)。

  • 视频信息描述的是随时间变化的图像(每一幅图像称为- -帧)-音乐信息( MIDI )通过对演奏的乐器、乐谱等相关的各类信息用0和1进行编码来描述。

数据校验码

奇偶校验码

  • 奇偶校验原理:通过计算数据中“1”的个数是奇数还是偶数来判断数据的正确性。在被校验的数据后加一位校验位或校验字符用作校验码实现校验

奇偶校验码最简单,但只能检测出奇数位出错. 如果发生偶数位错误就无法检测. 但经研究是奇数位发生错误的概率大很多. 而且奇偶校验码无法检测出哪位出错.所以属于无法矫正错误的校验码。奇偶校验码是奇校验码和偶校验码的统称. 它们都是通过在要校验的编码上加一位校验位组成. 如果是奇校验加上校验位后,编码中1的个数为奇数个。如果是偶校验加上校验位后,编码中1的个数为偶数个。

海明校验码

海明码:是利用奇偶性来校验数据的. 它是一种多重奇偶校验检错系统,它通过在数据位之间插入k个校验位,来扩大码距,从而实现检错和纠错。

设原来数据有n位,要加入k位校验码.怎么确定k的大小呢? k个校验位可以有pow(2,k) (代表2的k次方) 个编码,其中有一个代表是否出错. 剩下pow(2,k)-1个编码则用来表示到底是哪一位出错。因为n个数据位和k个校验位都可能出错,所以k满足pow(2,k)-1 >= n+k。
设 k个校验码为 P1,P2...Pk, n个数据位为D0,D1...Dn 产生的海明码为 H1,H2...H(n+k) 。如有8个数据位,根据pow(2,k)-1 >= n+k可以知道k最小是4。
那么得到的海明码是:
H12 H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1
D7 D6 D5 D4 P4 D3 D2 D1 P3 D0 P2 P1


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM