zoukankan      html  css  js  c++  java
  • 预习非数值数据的编码方式

    一.非数值数据的编码方式

    • 逻辑值:逻辑数据和数值数据都是一串0/1序列,形式没有差异,逻辑数据通过逻辑运算指令处理,数值数据通过算术运算指令处理。
    • 西文字符:字符不能直接在计算机内部进行处理,所以需要对其进行数字化编码。
    • 汉字字符:
      1)汉字的输入码:汉字的输入码的码元是西文键盘的某个按键。
      2)字符集与汉字内码:不能有二义性,即不能和ASCII码有相同的编码

    二.数据的宽度和存储

    1、数据的宽度和单位

    • 计算机中处理、存储和传输信息的二进制最小单位:比特(bit)
    • 计算机中,二进制信息的计量单位:字节(byte),1 byte = 8 bit
    • 字word做单位。不同计算机中字的长度和组成不完全相同,字用来表示被处理信息的单位,用来度量各种数据类型的宽度
    • 性能参数机器字长,字长等于CPU内部用于整数运算的运算器位数和通用寄存器宽度,表示进行数据运算,储存和传送的部件宽度,反应了计算机处理信息的能力
    • 同一类型的数据并不是所有机器都采用相同的数据类型,分配的字节数随机器和编译器的不同二不同

    2、数据的存储和排列顺序

    • 多字节数据存放在连续的字节序列中,各字节在连续字节系列中的排列顺序不同,有两种排列方式:大端和小端
    • 大端方式将数据的最高有效字节MSB存放在低地址单元中,将最低有效字节LSB存放在高地址单元中,小端与之相反

    三.校验码的方式

    1、效验码

    • 除原数据信息外,还增加若干位编码,这些新增的代码称为效验码
    • 由若干位代码组成的一个字叫码字,将两个码字逐位比较,具有不同代码的位的个数叫做这两个码字间的距离,也称海明距离。一种码制可能若干个码字,各码字之间的最小距离称为码距。
    • 在数据效验码中,一个码字是指数据位和效验位按照某种规律排列得到的代码
    • 一般来说,合理地增加效验码、增大码距,就能提高检错/纠错的能力

    2、奇偶效验码(对整个数据编码生成一个校验位)

    • 在奇偶校验码中,两个数据有奇数位不同,则校验码不同,若偶数位不同,校验码相同,但至少有两个数据位不同,所以任意两个码字之间至少有两位不同,码距d=2
    • 根据码距和检错能力关系可知,奇偶校验码只能检测奇数位错,不能发现偶数位出错,也不能确定出错位置,所以不具有纠错能力
    • 因为所用的开销小,奇偶效验码常用于存储器读写检查或按字节传输过程中的数据效验

    3、海明效验码(多重奇偶校验码)

    • 最终比较按位进行异或操作,根据异或操作的结果,确定是否发生了差错,这种操作得到的结果称为故障字,效验位和故障字的位数是相同的
    • 校验位数的确定:假定被校验数据位数为n,校验位为k,所以障碍字也为k,则n和k满足 2^k>=1+n+k
    • 分组的确定:数据位和校验位一起存储,通过它们各位排列的码字中的出错位置与故障字的数值建立关系,这样就可以通过故障字的值找到该码字中的哪一位发生了错误
      a.故障字各位全部为0,没有发生错误
      b.故障字有且只有一位1.则只有一个发生错误,不需要纠正
      c.故障字中多位为1,表示有一个数据位出错,其位置在码字中的位置通过故障字的数值确定,纠正只需要将出错位取反。
    • 校验码的生成和检错,纠错:对每组采用相应的奇偶校验,得到相应的一个校验码。
    • 校验码若同时具有发现两位错和纠正一位错的能力,称为单纠错和双纠错码,简称“纠一检二”码

    4、循环冗余效验码

    • 循环冗余码效验简称CRS码,是一种具有较强检错、纠错能力的效验码,常用于外存储器的数据效验,通过某种数学运算在数据和效验位之间建立约定关系。
  • 相关阅读:
    字符编码相关
    函数之形参与实参
    文件操作模式
    函数对象,名称空间,作用域,和闭包
    吴裕雄天生自然SPRINGBOOT开发实战处理'spring.datasource.url' is not specified and no embedded datasource could be autoconfigured
    吴裕雄天生自然SPRINGBOOT开发实战处理XXXX that could not be found.
    吴裕雄天生自然SPRINGBOOT开发实战SpringBoot HTML表单登录
    吴裕雄天生自然SPRINGBOOT开发实战SpringBoot REST示例
    吴裕雄天生自然SpringBoot开发实战学习笔记处理 Could not write metadata for '/Servers'.metadata\.plugins\org.eclipse.core.resources\.projects\Servers\.markers.snap (系统找不到指定的路径。)
    吴裕雄天生自然SPRINGBOOT开发实战SpringBoot Tomcat部署
  • 原文地址:https://www.cnblogs.com/liaomengjie/p/13701025.html
Copyright © 2011-2022 走看看