本章主要内容
信息编码、码制转换与检错纠错码
数据表示——常用的信息编码
二进制数值数据的编码与运算算法
基二码应用实例:数据表示逻辑型数据
字符型数据
ASCII 码 EBCDIC 码
字符串 汉字
检错纠错码
奇偶校验 海明校验 循环冗余校验
数值型数据
定点小数 整数 浮点数
二—十进制数(BCD码)
逻辑型数据
逻辑型数据只有两个值:真 和 假,
正好可以用二进制码的两个符号分别表示,
例如 1 表示 真
则 0 表示 假
不必使用另外的编码规则。
对逻辑型数据可以执行逻辑的 与 或 非等基本逻辑运算。其规则如下:
逻辑型数据基本运算规则
X |
Y |
X与Y |
X或Y |
X的非 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
字符型数据的表示
字符作为人—机联系的媒介,是最重要的数据类型之一,当前的西文字符集由 128 个符号组成,通常用 8 位二进制编码,即用一个字节来表示每一个符号,当前通用的两个标准字符集是:
ASCII 码: 即 American Standard Code for
Information Interchange
EBCDIC码:即 Extended Binary Coded
Decimal Interchage Code
ASCII码字符集具体编码如下表所示:
ASCII字符编码集
字符串的表示与存储
字符串是指连续的一串字符,它们占据主存中连续的多个字节,每个字节存放一个字符,对一个主存字的多个字节,有按从低位到高位字节次序存放的,也有按从高位到低位字节次序存放的。表示字符串数据要给出串存放的主存起始地址和串的长度。例如:IF A>B THEN READ(C)就可以有如下不同的存放方式:
汉字的表示
通常用两个字节表示一个汉字
为了与西文字符编码相区别(西文的ASCII码的最高一位编码值为0),表示一个汉字时,把两个字节的最高一位的编码值设定为 1,则该编码集的最多编码数量为 128 X 128。
这种编码方案与西文传送中的把ASCII码的最高一位用作奇偶校验位有矛盾。
数值数据在计算机内的格式
定点小数: N = Ns N-1 N-2 …… N-n
整数: N =Ns Nn Nn-1 …… N1 N0
浮点数: N = Ms Es Em-1 …… E1 E1 M-1 M-2 M-n
基为2
IEEE 标准:阶码用移码,尾数用原码
|
符号位 |
阶码位 |
尾数数码位 |
总位数 |
短浮点数 |
1 |
8 |
23 |
32 |
长浮点数 |
1 |
11 |
52 |
64 |
临时浮点数 |
1 |
15 |
64 |
80 |
二-十进制编码(BCD编码)
用四位二进制表示一位十进制,16个编码状态选用其中的10个编码有多种方案,例如:8421码,余 3 码,循环码
又可区分为:
有权码:每位上的 1 代表确定的值
无权码:无法确定每位上的 1 代表的值
有权码 无权码
|
8421 |
余3码 |
循环码 |
84-2-1 |
0 |
0000 |
0011 |
0000 |
0000 |
1 |
0001 |
0100 |
0001 |
0111 |
2 |
0010 |
0101 |
0011 |
0110 |
3 |
0011 |
0110 |
0010 |
0101 |
4 |
0100 |
0111 |
0110 |
0100 |
5 |
0101 |
1000 |
1110 |
1011 |
6 |
0110 |
1001 |
1010 |
1010 |
7 |
0111 |
1010 |
1000 |
1001 |
8 |
1000 |
1011 |
1100 |
1000 |
9 |
1001 |
1100 |
0100 |
1111 |
|