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

    非数值数据的编码表示
    1.逻辑值、字符等数据都是非数值数据,在机器内部它们也用二进制表示。
    2.逻辑值
    2.1逻辑数据
    1.需要将一个n位数据看成由n个1位数据组成,每个取值为0或1。
    2.需要储存一个布尔或二进制数据阵列,阵列中的每项只能取值为1或0。
    3.需要提取一个数据项中的某位进行诸如“置位”或“清零”等操作。
    4.逻辑数据只能参加逻辑运算,并且是按位进行时的,如按位“与”、按位“或”、逻辑左移、逻辑右移等。

    2.2
    1.n位二进制可以表示n个逻辑值。
    2.逻辑数据和数值数据都是一串0/1序列,形式上无差异,要通过指令的操作码类型来识别它们。

    3.西文字符
    1.西文由拉丁字母、数字、标点符号及一些特殊符号组成,它们统称为字符。所有字符的集合叫做字符集。字符不能直接在计算机内部进行处理,必须对其进行数字化编码。
    2.码表中的代码具有唯一性。
    3.字符集有多种,每个字符集的编码方法也多种多样。
    4.每个字符都由7个二进位表示。
    数据的宽度和存储
    1.数据的宽度和单位
    1.1比特是计算机中处理、存储传输信息的最少单位
    1.2在计算机内部,二进制信息的计量单位是字节,也称位组。一个字节等于8个比特
    1.3字长通常是指CPU内部用于整数运算的数据通路的宽度
    1.4字用来表示被处理信息的单位,用来度量各种数据类型的宽度

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

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

    2.海明效验码
    2.1它不仅具有检测错误的能力,同时还具有给出错误所在准确位置的能力 但是因为这种海明校验的方法只能检测和纠正一位出错的情况。所以如果有多个错误,就不能查出了。  假设为k个数据位设置r个校验位,则校验位能表示2^r个状态,可用其中的一个状态指出 "没有发生错误",用其余的2 ^r -1个状态指出有错误发生在某一位,包括k个数据位和r个校验位,因此校验位的位数应满足如下关系:
    2^r ≥ k + r + 1 (2.7)
    如要能检出与自动校正一位错,并能同时发现哪位错,此时校验位的位数r和数据位的位数k应满足下述关系:
    2^r-1 ≥ k + r (2.8)

    3.循环冗余效验码
    3.1循环冗余码效验简称CRS码,是一种具有较强检错、纠错能力的效验码,常用于外存储器的数据效验,通过某种数学运算在数据和效验位之间建立约定关系。

  • 相关阅读:
    【每日更新】【Redis学习】
    【转】RabbitMQ基础——和——持久化机制
    【转】重写Equals为什么要同时重写GetHashCode
    .net WebApi中使用swagger生成WepApi集成测试工具
    【深度好文】多线程之WaitHandle-->派生EventWaitHandle事件构造-》AutoResetEvent、ManualResetEvent
    C#编码问题以及C#往Mysql插数据编码问题
    HTTP methods 与 RESTful API
    Facebook币Libra学习-6.发行属于自己的代币Token案例(含源码)
    Facebook币Libra学习-5.Move组织目录
    Facebook币Libra学习-4.新的智能合约语言Move入门
  • 原文地址:https://www.cnblogs.com/broaduniverse/p/13706937.html
Copyright © 2011-2022 走看看