搜档网
当前位置:搜档网 › 公基计算机基础知识汇总

公基计算机基础知识汇总

公基计算机基础知识汇总
公基计算机基础知识汇总

数值数据的表示

1.机器数和真值

在计算机中,使用的二进制只有0和1两种值。一个数在计算机中的表示形式,称为机器数。机器数所对应的原来的数值称为真值,由于采用二进制必须把符号数字化,通常是用机器数的最高位作为符号位,仅用来表示数符。若该位为0,则表示正数;若该位为1,则表示负数。机器数也有不同的表示法,常用的有3种:原码、补码和反码。

机器数的表示法:用机器数的最高位代表符号(若为0,则代表正数;若为1,则代表负数),其数值位为真值的绝对值。假设用8位二进制数表示一个数,如图1-10所示。

图1-10 用8位二进制表示一位数

在数的表示中,机器数与真值的区别是:真值带符号如-0011100,机器数不带数符,最高位为符号位,如10011100,其中最高位1代表符号位。

例如:真值数为-0111001,其对应的机器数为10111001,其中最高位为1,表示该数为负数。

2.原码、反码、补码的表示

在计算机中,符号位和数值位都是用0和1表示,在对机器数进行处理时,必须考虑到符号位的处理,这种考虑的方法就是对符号和数值的编码方法。常见的编码方法有原码、反码和补码3种方法。下面分别讨论这3种方法的使用。

(1)原码的表示

一个数X的原码表示为:符号位用0表示正,用1表示负;数值部分为X的绝对值的二进制形式。记X的原码表示为[X]原。

例如:当X=+1100001时,则[X]原=01100001。

当X=-1110101时,则[X]原=11110101。

在原码中,0有两种表示方式:

当X=+0000000时,[X]原=00000000。

当X=-0000000时,[X]原=10000000。

(2)反码的表示

一个数X的反码表示方法为:若X为正数,则其反码和原码相同;若X为负数,在原码的基础上,符号位保持不变,数值位各位取反。记X的反码表示为[X]反。

例如:当X=+1100001时,则[X]原=01100001,[X]反=01100001。

当X=-1100001时,则[X]原=11100001,[X]反=10011110。

在反码表示中,0也有两种表示形式:

当X=+0时,则[X]反=00000000。

当X=-0时,则[X]反=10000000。

(3)补码的表示

一个数X的补码表示方式为:当X为正数时,则X的补码与X的原码相同;当X为负数时,则X 的补码,其符号位与原码相同,其数值位取反加1。记X的补码表示为[X] 补。

例如:当X=+1110001,[X]原=01110001,[X]补=01110001。

当X=-1110001,[X]原=11110001,[X]补=10001111。

3.BCD码

在计算机中,用户和计算机的输入和输出之间要进行十进制和二进制的转换,这项工作由计算机本身完成。在计算机中采用了输入/输出转换的二~十进制编码,即BCD码。

在二~十进制的转换中,采用4位二进制表示1位十进制的编码方法。最常用的是8421BCD码。“8421”的含义是指用4位二进制数从左到右每位对应的权是8、4、2、1。BCD码和十进制之间的对应关系如表1-6所示。

表1-6 BCD码和十进制数的对照表

有128个元素。因为ASCII码总共为128个元素,故用二进制编码表示需用7位。任意一个元素由7

位二进制数表示,从0000000到1111111共有128种编码,可用来表示128个不同的字符。ASCII码表的查表方式是:先查列(高三位),后查行(低四位),然后按从左到右的书写顺序完成,如B的ASCII 码为1000010。在ASCII码进行存放时,由于它的编码是7位,因1个字节(8位)是计算机中常用单位,故仍以1字节来存放1个ASCII字符,每个字节中多余的最高位取0。如表1-7所示为7位ASCII 字符编码表。

表1-7 ASCII字符编码表

d6d5d4

000 001 010 011 100 101 110 111 d3d2d1d0

0000 NUL DEL SP 0 @ P 、P

0001 SOH DC1 ! 1 A Q a q

0010 STX DC2 ” 2 B R b r

0011 EXT DC3 # 3 C S c s

0100 EOT DC4 $ 4 D T d t

0101 ENQ NAK % 5 E U e u

0110 ACK SYN & 6 F V f v

0111 BEL ETB ,7 G W g w

1000 BS CAN ( 8 H X h x

1001 HT EM ) 9 I Y i y

1010 LF SUB * : J Z j z

1011 VT ESC + ; K [ k {

1100 FF FS ,< L l

1101 CR GS - = M ] m }

1110 SD RS .> N n ~

1111 SI US /?O _ o DEL

由表1-7可知,ASCII码字符可分为两大类:(1)打印字符:即从键盘输入并显示的95个字符,如大小写英文字母各26个,数字0~9这10个数字字符的高3位编码(D6D5D4)为011,低4位为0000~1001。当去掉高3位时,低4位正好是二进制形式的0~9。

(2)不可打印字符:共33个,其编码值为0~31(0000000~0011111)和(1111111),不对应任何可印刷字符。不可打印字符通常为控制符,用于计算机通信中的通信控制或对设备的功能控制。如编码值为127(1111111),是删除控制DEL码,它用于删除光标之后的字符。

ASCII码字符的码值可用7位二进制代码或2位十六进制来表示。例如字母D的ASCII码值为(1000100)2或84H,数字4的码值为(0110100)2或34H等。

2.汉字的存储与编码

英语文字是拼音文字,所有文字均由26个字母拼组而成,所以使用一个字节表示一个字符足够了。但汉字是象形文字,汉字的计算机处理技术比英文字符复杂得多,一般用两个字节表示一个汉字。由于汉字有一万多个,常用的也有六千多个,所以编码采用两字节的低7位共14个二进制位来表示。一般汉字的编码方案要解决4种编码问题。

(1)汉字交换码

汉字交换码主要是用作汉字信息交换的。以国家标准局1980年颁布的《信息交换用汉字编码字符集基本集》(代号为GB2312-80)规定的汉字交换码作为国家标准汉字编码,简称国标码。

国标GB 2312-80规定,所有的国际汉字和符号组成一个94×94的矩阵。在该矩阵中,每一行称为一个“区”,每一列称为一个“位”,这样就形成了94个区号(01~94)和94个位号(01~94)的汉字字符集。国标码中有6763个汉字和628个其他基本图形字符,共计7445个字符。其中规定一级汉字3755个,二级汉字3008个,图形符号682个。一个汉字所在的区号与位号简单地组合在一起就构成了该汉字的“区位码”。在汉字区位码中,高两位为区号,低两位为位号。因此,区位码与汉字或图形符号之间是一一对应的。一个汉字由两个字节代码表示。

(2)汉字机内码

汉字机内码又称内码或汉字存储码。该编码的作用是统一了各种不同的汉字输入码在计算机内的表示。汉字机内码是计算机内部存储、处理的代码。计算机既要处理汉字,又要处理英文,所以必须能区别汉字字符和英文字符。英文字符的机内码是最高位为0的8位ASCII码。为了区分,把国标码每个字节的最高位由0改为1,其余位不变的编码作为汉字字符的机内码。

一个汉字用两个字节的内码表示,计算机显示一个汉字的过程首先是根据其内码找到该汉字字库中的地址,然后将该汉字的点阵字型在屏幕上输出。

汉字的输入码是多种多样的,同一个汉字如果采用的编码方案不同,则输入码就有可能不一样,但汉字的机内码是一样的。有专用的计算机内部存储汉字使用的汉字内码,用以将输入时使用的多种汉字输入码统一转换成汉字机内码进行存储,以方便机内的汉字处理。在汉字输入时,根据输入码通过计算机或查找输入码表完成输入码到机内码的转换。如汉字国际码(H)+8080(H)=汉字机内码(H)。

(3)汉字输入码

汉字输入码也叫外码,是为了通过键盘字符把汉字输入计算机而设计的一种编码。

英文输入时,想输入什么字符便按什么键,输入码和内码是一致的。而汉字输入规则不同,可能要按几个键才能输入一个汉字。汉字和键盘字符组合的对应方式称为汉字输入编码方案。汉字外码是针对不同汉字输入法而言的,通过键盘按某种输入法进行汉字输入时,人与计算机进行信息交换所用的编码称为“汉字外码”。对于同一汉字而言,输入法不同,其外码也是不同的。例如,对于汉字“啊”,在区位码输入法中的外码是1601,在拼音输入中的外码是a,而在五笔字型输入法中的外码是KBSK。汉字的输入码种类繁多,大致有4种类型,即音码、形码、数字码和音形码。

(4)汉字字形码

汉字在显示和打印输出时,是以汉字字形信息表示的,即以点阵的方式形成汉字图形。汉字字形码是指确定一个汉字字形点阵的代码(汉字字形码)。一般采用点阵字形表示字符。

目前普遍使用的汉字字型码是用点阵方式表示的,称为“点阵字模码”。所谓“点阵字模码”,就是将汉字像图像一样置于网状方格上,每格是存储器中的一个位,16×16点阵是在纵向16点、横向16点的网状方格上写一个汉字,有笔画的格对应1,无笔画的格对应0。这种用点阵形式存储的汉字字型信息的集合称为汉字字模库,简称汉字字库。

通常汉字显示使用16×16点阵,而汉字打印可选用24×24点阵、32×32点阵、64×64点阵等。汉字字形点阵中的每个点对应一个二进制位,1字节又等于8个二进制位,所以16×16点阵字形的字要使用32个字节(16×16÷8字节=32字节)存储,64×64点阵的字形要使用512个字节。

在16×16点阵字库中的每一个汉字以32个字节存放,存储一、二级汉字及符号共8836个,需要282.5KB磁盘空间。而用户的文档假定有10万个汉字,却只需要200KB的磁盘空间,这是因为用户文档中存储的只是每个汉字(符号)在汉字库中的地址(内码)。

相关主题