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个二进位表示。
    5.ASCII码表

    6.7个二进位从00000001111111共表示128种编码,可以用来表示128个不同的字符。95个可打印字符。33个控制字符(032)。

    4.汉字字符

    汉字系统必须处理以下几种汉字代码:输入码、内码、字模点阵码。
    1.汉字的输入码

    1.汉字的输入码的码元(即组成编码的基本元素)是西文键盘中的某个按键。

    2.字符集与汉字内码
    1.汉字内码的选择

    (1)不能有二义性,即不能和ASCII码有相同的编码。
    (2)要与汉字在字库中的位置有关系,以便于汉字的处理查找。
    (3)编码尽量短。

    2.汉字的区位码和国标码唯一的、标准的,二汉字内码可能随系统的不同而有差别 。
    3.汉字输入码与汉字内码、汉字交换码完全是不同范畴的概念。使用不同的输入编码方法输入同一个汉字时,在计算机内部得到的汉字内码是一样的。
    3.汉字的字模点阵码和轮廓描述

    1.汉字字形主要有两种描述方法:字模点阵码和轮廓描述。
    2.字模点阵描述是将字库中各个汉字或其他字符的字形(即字模)用一个其元素由0或1组成的方阵来表示。汉字或字符中有黑点的地方是1,空白处用0表示。
    3.汉字的轮廓描述是吧汉字笔画的轮廓用一组直线和曲线来勾画,记下直线和曲线的数学描述公式。(有Adobe Typel和TureType两种国际标准)此方法精度高,字形大小可以任意变化。

    数据的宽度和存储

    1.数据得宽度和单位

    1.比特(bit)是计算机中处理、存储和传输信息得最小单位。
    2.二进制信息的计量单位是字节(byte),也称位组。一个字节等于8个比特。
    3.计算机中运算和处理二进制信息时还经常使用字(word)作为单位。不同的计算机字的长度和组成不完全相同。
    4.字长通常是指CPU内部用于整数运算的数据通路的宽度。字长等于CPU内部用于整数运算的运算器位数和通用寄存器宽度。
    5.字用来表示被处理信息的单位,用来度量各种数据类型的宽度。而字长表示进行数据运算、存储和传送的部件的宽度,它反应了计算机处理信息的一种能力。字和字长的长度可以一样,也可以不一样。
    6.同一类型的数据并不是所有机器都采用相同的数据宽度,分配的字节数随机器和编译器的不同而不同。

    2.数据的存储和排序顺序

    1.任何信息在计算机中用二进制编码后,得到的都是一串0/1序列,没8位构成一个字节,不同的数据类型具有不同的字节宽度。
    2.在所有计算机中,多字节数据都被存放在连续的字节序列中。根据数据中各字节在连续字节序列中的排列顺序不同,可以有两种排序方式:大端和小端。
    大端方式将数据的最高有效字节MSB存放在低地址单元中,将最低有效字节LSB存放在高地址单元中,即数据的地址就是MSB所在的地址。
    小端方式将数据的最高有效字节MSB存放在高地址单元中,将最低有效字节LSB存放在低地址单元中,即数据的地址就是LSB所在的地址。

    数据校验码

    1.奇偶校验码(奇偶检测)

    1.最简单的数据校验方法是奇偶校验。
    2.在奇偶校验码中,若两个数据中有奇数位不同,则它们相应的校验位就不同;若有偶数位不同,则虽校验位相同,但至少有两位数据位不同,因而任意两个码字之间至少有两位不同,所以码距d=2。
    3.只能发现奇数位出错,不能发现偶数位出错,而且也不能确定发生错误的位置,不具纠错能力。
    4.用于校验一字节长的代码是有效的。

    2.海明校验码(奇偶检测)

    1.将有效信息按某种规律分成若干组,每组安排一个校验位,做奇偶测试,就能提供多位检错信息,以指出最大可能是哪位出错,从而将其纠正。实质上,海明校验是一种多重校验。
    2.校验位和故障字的位数是相同的。
    3.它不仅具有检测错误的能力,同时还具有给出错误所在准确位置的能力,但是因为这种海明校验的方法只能检测和纠正一位出错的情况。所以如果有多个错误,就不能查出了。
    4.若校验码同时具有发现两位错和纠正一位错的能力,则称为单纠错和双纠错码,简称“纠一检二”码。

    3.循环冗余校验码(通过某种数学运算来建立数据和校验之间的约定关系)

    1.循环冗余校验码简称CRC码。是一种具有较强检错、纠错能力的校验码,常用于外存储器的数据校验。主要用于对大批量数据的存储或传输校验。
    2.理论上可以证明循环冗余校验码的检错能力有以下特点:可检测出所有奇数位错;可检测出所有双比特的错;可检测出所有小于、等于校验位长度的突发错。

  • 相关阅读:
    css学习总结
    bootstrap的学习总结
    一些组件配置的理解
    php 微信公众号支付(小程序也是这么支付的)
    mysql 链接超过ip限制时的报错
    php生成二维码
    wamp配置虚拟主机 php 5.6.25
    php 渣全的循环
    4、kafka、spark streaming
    gauss消元
  • 原文地址:https://www.cnblogs.com/zhangxueru/p/13688323.html
Copyright © 2011-2022 走看看