计算机组成原理——第3章2之信息编码及数据表示
第3章 信息编码与数据表示 3.4 浮点机器数表示方法 3.4.1 浮点数的格式 浮点数的典型格式 N=M*RE 阶符,数符。阶码一般采用移码和补码表示。尾数一般采用原码和补码表示 。 E:定点整数。E决定了浮点数N的绝对值;ES不是N的符号 M:定点小数。MS决定了浮点数N的符号;MS=0,则N为正数,MS=1,则N为负数 3.4.2 规格化定义: 采用规格化形式表示浮点数 可以提高精度 。 规格化的根本要求是: 0.5≤|M|<1 规格化的尾数表现形式为: 规格化原码表示的M是:0.1**或 1.1**的形式 规格化补码表示的M是:0.1**或 1.0**的形式 浮点数的表示范围通常:最小(负)数、最大负数、最小正数、最大(正)数。 位于最大负数和最小正数之间的数据(除0外),机器无法表示,称为下溢。对于下溢的处理,计算机直接将其视为机器零。 当一个数据大于最大(正)数,或者小于最小(负)数时,机器也无法表示,称为上溢,上溢又称溢出。下图表明了浮点数在数轴上的表示范围。 机器零:两层含义 若浮点数的尾数为零,无论阶码为何值 当阶码的值遇到比它能表示的最小值还要小时(阶码负溢出),无论其尾数为何值。 例3.9:一浮点数表示格式为:16位浮点数,阶码6位,包含1位阶符,用移码表示,尾数10位,包含1位数符,用补码表示,阶码在前,尾数(包括数符)在后,请写出下列X和Y的规格化浮点数形式。 X=+55.75Y=-27/128 例3.11:写出例3.9中的浮点数格式的规格化和非规格化表示范围。浮点数表示格式为:16位浮点数,阶码6位,包含1位阶符,用移码表示,尾数10位,包含1位数符,用补码表示,阶码在前,尾数(包括数符)在后。 3.5 非数值数据的表示 3.5.1 字符编码 ASCII码用7位二进制代码表示一个字符,可以表示128个常用字符。通常在7位ASCII码前添加1位奇偶校验位或者“0”,则一个字符使用一个字节来表示。 ASCII码包含了95个可打印字符和33个控制字符。 95个可打印字符,对应着计算机终端能够敲入并显示和打印出来的字符,包括52个英文大写和小写字母(A~Z、a~z)、10个十进制数字(0~9)、33个通用的运算符及标点符号。数字和英文字母的编码均是按其自身的顺序排列的 。 33个控制字符,并不对应任何一个可显示或可打印的实际字符,而是被用作控制码,用于控制计算机某些外围设备的工作特性、通信协议或者某些计算机软件的运行情况。最为熟悉和常用的两个控制字符是“回车”(CR)和“换行”(LF),ASCII编码分别为0DH和0AH。 字形编码 字形编码是用汉字的形状(笔画、部首)来进行的编码,简称形码。常用的字形编码有五笔字型输入法、郑码输入法等。 字形输入法重码较少,且不受方言影响,输入速度较快,比较受到欢迎。 音形编码 兼顾了汉字的音和形,以音为主,以形为辅,目的是减少编码中死记的部分,提高输入效率,易学易记。常用的自然码 音形输入法的特点是速度较快,又不需要专门培训。适合于对打字速度有些要求的非专业打字人员使用。 2、汉字内码 汉字内码是用于汉字信息的存储、交换、检索等操作的机内代码,一般采用两个字节表示。汉字的内码在计算机中是唯一的。 英文字符的机内代码是七位的ASCII码,当用一个字节表示时,最高位为“0”。汉字机内代码中两个字节的最高位均规定为“1”。 3、汉字字模码 字模码是用点阵表示的汉字字形代码,它是汉字的输出形式,用于汉字的显示和打印。 字模点阵所占存储空间很大。一般有简易型汉字16×16、提高型汉字24×24、32×32等几种点阵,所占空间分别为32字节/汉字、72字节/汉字、128字节/汉字。 3.6 校验码 定义:校验码就是一种具有发现某些错误或自动改正错误能力的一种数据编码方法。 校验码的基本思想是“冗余校验”,即通过在有效信息代码的基础上,添加一些冗余位来构成整个校验码。这些冗余位又称校验位,将其与有效信息按照一定的规律编码,形成校验码存储或发送。 使用校验码传输数据的过程是:在读取或接收校验码时,按同一约定的规律译码,首先判断出约定的规律有无被破坏:若被破坏,则表明收到的信息有错,对于只具有检错能力的校验码,则通知系统信息不可取;对于具有纠错能力的校验码,还可以纠正错误。若没有被破坏,表明数据正确,再将校验码中的有效信息部分提取出来使用。 校验码检查出来数据有无发生错误的原理是: 码距:一种码制的码距则是指该码制中所有代码之间的最小距离。 一般的二进制编码的码距等于1,它不具有检错纠错能力 添加了一些校验位后,使得校验码中合法码字的码距扩大了,超过了1。 校验码的校验原理就是通过判断代码的合法性来检错的。只有当码距大