预习非数值数据的编码方式
非数值数据的编码表示
1.逻辑值
-
n位二进制数可表示n个逻辑值。
-
逻辑数据只能参加逻辑运算,并且是按位进行的,如按位“与”,按位“或”,逻辑左移,逻辑右移等。
-
逻辑运算指令处理的是逻辑数据,算术运算指令处理的是数值数据。
2.西文字符
-
西文由拉丁字母,数字,标点符号及一些特殊符号所组成,它们统称为字符。所有字符的集合叫字符集。
-
码表中的代码具有唯一性。
-
字符主要用于外部设备和计算机之间交换信息。
-
目前计算机中使用最广泛的西文字符集及其编码是ASCII码,即美国标准信息交换码。
3.汉字字符
1.汉字的输入码
-
目前,最简便,最广泛采用的汉字输入方法是利用英文键盘输入汉字。
-
汉字的输入码的码元(即组成编码的基本元素)是西文键盘中的某个按键。
2.字符集与汉字内码
汉字内码考虑因素
-
不能有二义性,即不能和ASCII码有相同的编码。
-
要与汉字在字库中的位置有关系,以便于汉字的处理,查找。
-
编码应尽量短。
3.汉字的字模点阵码和轮廓描述
-
汉字的字形主要有两种描述方法:字模点阵描述和轮廓描述。
-
轮廓描述已有两类国际标准:AdobeTybel和TrueType。
数据的宽度与存储
1.数据的宽度与单位
-
二进制数据的每一位(0或1)是组成二进制信息的最小单位,称为一个比特bit,或称位元,简称位。
-
每个西文字符要8个比特表示,每个汉字要16个比特表示。二进制信息的计量单位是字节byte,称位组。1byte=8bit。
-
字长等于CPU内部用于整数运算的运算器位数和通用寄存器宽度。
-
字用来表示被处理信息的单位,用来度量各种数据类型的宽度;字长表示进行数据运算,存储和传送的部件的宽度,它反映了计算机处理信息的一种能力。
2.数据的存储和排列顺序
- MSB 最高有效位,Most significant bit
- LSB 最低有效位,Least significant bit
如:1011,他的MSB是0,LSB是1。
如果按MSB排列:1101 0000 0000 0000 0000 0000 0000 0000(高到低位从左往右)
如果按LSB排列 :0000 0000 0000 0000 0000 0000 0000 1011(高到低位从右往左)
- 在所有计算机中,多字节数据都被存放在连续的字节序列中。根据数据中各字节在连续字节序列中的排列顺序的不同,可有两种排列方式:大端(big endian)和小端(little endian)。例如,在一个按字节编址的计算机中,假定 int 型变量 i 的地址为 0800H,i 的机器数为 01 23 45 67H,这 4 个字节 01H、23H、45H、67H 的存储地址如下:
变量的地址是最小地址。LSB 表示最低有效字节(01H),MSB 表示最高有效字节(67H)。
大端方式:将数据的最高有效字节存放在低地址单元中,将最低有效字节存放在高地址单元中,即变量的地址就是 MSB 所在的地址。
小端方式:将数据的最高有效字节存放在高地址单元中,将最低有效字节存放在低地址单元中,即数据的地址就是 LSB 所在的地址。
数据校验码
- 一种具有检错能力或自动改错能力的数据编码方法。
1.奇偶校验码
编码规律
偶校验:配一个校验位,使整个校验码(包括有效数据和校验位)中“1”的个数为偶数;
奇校验:配一个校验位,使整个校验码(包括有效数据和校验位)中“1”的个数为奇数;
2.海明校验码
- 实质:是一种多重奇偶校验码。
实现原理
按一定规律将有效数据位划分为若干组,分组进行奇偶校验。
各组的检错信息构成一个指错字,不但可以发现出错,还能指出是哪一位出错,为自动纠错提供依据。
3.循环冗余校验码(CRC码)
校验规则
让校验码能被某一约定代码除尽。
若能除尽,表明代码无错;
若除不尽,余数将指明出错位置。
- 模2运算:以按位模2相加为基础,运算时不考虑进位和借位。