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码,是一种具有较强检错、纠错能力的效验码,常用于外存储器的数据效验,通过某种数学运算在数据和效验位之间建立约定关系。
  • 相关阅读:
    VBA Exit Do语句
    VBA Exit For语句
    VBA Do...While循环
    VBA While Wend循环
    VBA For Each循环
    VBA for循环
    sqoop 教案
    Hbase 取数据 和放数据 使用mr
    Hbase 四种过滤器
    Hbase java API 的方法
  • 原文地址:https://www.cnblogs.com/liaomengjie/p/13701025.html
Copyright © 2011-2022 走看看