计算机内的信息表示
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二节、计算机内的信息表示
计算机的高速发展,使它不仅已成为今天最广泛使用的现代工具,而且正在成为未来信息社会的重要支柱。
近十年来国内、外逐渐流行“计算机文化”一词,有人把传统的文化称为“第一文化”,计算机文化称为“第二文化”。
计算机文化具有不同于传统文化特征。
这些特征主要表现在:
(1)信息处理是计算机文化的核心。
从本质上说,计算机实际上是一种自动的信息处理机。
(2)信息可以有多种不同的表现形式,包括文本(text)、语音(voice)、音乐(music)、图形(graph)、图象(image)等。
在计算机内部,各种形式的信息都未必转化为数字化了的数据,才能交给计算机进行处理。
(3)所有信息处理都要受到程序的控制。
按照用户的需求编写好应用程序,然后在程序控制下自动进行信息处理,以成为计算机求解所特有的基本模式。
(4)在最近几年获得迅速发展的“网络计算”,不仅缩短了世界的距离,而且将最终从根本上改变计算机的使用方式。
计算机网络化,已成为计算机文化的又一个新的特征。
这一节重点介绍计算机在信息处理时所使用的数制、字符的表示等内容。
一、二进制数
按进位的原则来计算,叫做进位计数制。
逢几进一,就叫做几进制。
人们日常生活中最常用的是十进制,而电子计算机中采用的是二进制数,这是因为二进制数有下面三个特点适应了电子计算机的需要:
(1)字符号:0和1。
因此在计算机中只需要用电子器件的两种状
态来表示它。
这在技术上是很容易实现的。
例如开关的接通和断开,晶体管的导通和截止等都可以表示两种不同的状态。
(2)运算简单。
因为只有0、1两个数字,二进制的运算规则就比十进制数简单得多,这使得电脑中的运算部件、控制部件都可简单些。
(3)有0和1两个数字,用其他也可以代表“是”和“非”两种逻辑值。
这为计算机进行逻辑运算和逻辑判断提供了条件。
下面我们来学习二进制数与十进制数之间的转换。
首先我们来学习二进制数向十进制数的转换。
(一)数转换为十进制数
一个二进制数如何转换成十进制数呢?为了说明一般的转换方法,我们先来分析二进制数各位上所表示的值。
大家熟悉的十进制数从低位到高位各位上的“1”代表的值依次是个、十、百、千、万,换个表示法就是10、……。
因此一个任意的十进制数的值,就是各位上的数字与该位上“1”所代表的值之乘积的总和。
例如:
11=1*101+1*100
36=3*101+6*100
5436=5*103+4*102+3*101+6*100
与十进制数类似,根据逢二进一的规律,二进制数从低位到高位各位上的“1”代表的值依次是1、2、4、8、……,换个表示法就是20、21、22、……。
据此,我们也可以把一个任意的二进制数表示成各位上的数字所代表的值之和。
例如:
(11)=1*21+1*20=(3)10
(1101)2 =1*23+1*22+0*21+1*20=(13)10
上面的式子中,为了区别二进制数与十进制数,把所表示的数用括号括起来,并在括号外加上相应的标注。
标上“2”表示括号内是二进制数,标上“10”表示括号内是十进制数。
上面的式子说明,根据二进制数各位上的“1”所表示的值,很容易把一个任意的二进制数转换为对应的十进制数。
例1.1 把二进制数(1111)2转换为二进制数
(1111) 2 =1*2+1*2+1*2+1*2
=8+4+2+1=( 15)10
(二)十进制数转换为二进制数
对比较小的十进制数,我们可以通过观察,直接把它们转换为二进制数。
比如,对十进制数0~10,我们可以很快写出它们所对应的二进制数,如表1。
1所示。
表1。
1 数0~10的对照表
对一个任意的十进制数,特别是比较大的十进制数,要通过“观察”直接
转换为响应的二进制数,往往是比较困难的。
需要有一种简便的方法来实现任意十进制数的转换。
下面我们就来学习这种转换方法。
一个任意十进制数转换为相应的十进制数的具体方法是:
依次用2去除十进制数,取所得到的余数,直到所得的商为0。
然后从后往前写起。
口诀:除二取余,从后写起。
下面我们举例来说明这种方法的使用。
例1.2把十进制数54转换为二进制数.
除数被除数余数
2 54 (0——二进制数最低位)
2 27 (1——二进制数次低位)
2 1
3 (1 ……)
2 6 (0……)
2 3 (1——二进制数次高位)
2 1 (1——二进制数最高位)
依次从后往前写起:即(54)10 =(110110)2
(三)二进制的字节
二进制数的每一位简记为“b”(bit),它是由0或1表示。
在计算机中,用二进制数表示信息的最小单位是字节。
一个字节为8位二进制数,字节可以简记为B(BYTE)。
为便于表示较大的存储容量,还有千字节、兆字节、吉字节等扩展单位。
它们的关系如下:
1千字节(KB)=1024字节(B)
1兆字节(MB)=1024千字节(KB)
1吉字节(GB)=1024兆字节(MB)
二、字符型数据的表示形式
在计算机数据中,字符型数据占有很大的比重。
字符数据包括各种文字、数字与符号等信息。
它们也都用二进制数来表示。
与数值型数据的主要差别是,一切字符都是按照事先约定的编码值来表示的。
本节将依次介绍西文字符数据和汉字字符数据的编码方法。
(一)ASCII码
ASCII码读作“阿斯克依”码,全名“美国标准信息交换”(American Standard Code for Information Interchange )。
它原为美国国家标准,供不同计算机在相互通信时用作共同遵守的标准。
后ISO 及CCITT等国家组织所采用,故又称为国际5号码,标准代号为ISO-646。
我国1980年颁布的《信息处理交换用七位编码字符集》(国家标准代号GB1988-80)也是据此制订的,仅在个别地方略有修改(例如把美元符号$改为人民币符号¥)。
1、ASCII码为7位码,每个符号由7个比特来表示,共含有27=128
种不同的编码。
2、表内有33种控制码,位于表的左首两列和右下角位置上。
它们
可用于:打印或显示时的格式控制;对外部设备的操作控制;进
行信息分隔;以及在数据通信时进行传输控制等用途。
3、其余95种为可打印/显示字符,其中又包括英文大写字母26个,
0~9的数字10个,以及标点符号、运算符号和其他符号共33个。
通常ASCII编码规定每个代码采用7位二进制数或2位十六进制
数来表示一个符号或功能。
例如字母A 的ASCII码值为(0100001)
或41H,数字3的码值为(00110011)2或33H等。
2
ASCII码表中的可打印字符,在PC机标准键盘上一般都可以找到。
按键时一方面在显示器是能显示出相应的字符。
另一方面,该字符的ASCII码值将被输入存储器中,等待用户处理。
通常一个ASCII 字符占用一个字节,其最高位可用“0”填充。
(二)汉字的编码
语文为拼音文字,所有的字均由26个字母拼组而成。
加上数字等其它符号,常用的字符仅为95个。
所以ASCII码采用7比特编码已经够用,一个字符只须占一个字节。
汉字为非拼音文字。
如果一字一码,1000个汉字需要1000种码才能区分。
显然,汉字编码表比ASCII表要复杂得多。
1、汉字交换码
1981年,我国颁布了《信息交换用汉字编码字符集,基本集》(代号GB2312——80)。
它是汉字交换码的国家标准,所以又称为“国际码”。
该标准收入了6763个常用汉字(其中一级汉字3755个,二级汉字3088个),以及英、俄、日文字母与其它符号687个,共有7000多个符号。
国际码规定,每个字符由一个2字节代码组成。
每个字节的最高位恒为“0”,其余7位用于组成各种不同的码值。
两个字节的代码,共可表示128*128=16384个符号,而国际码的本集目前仅有7000多个符号,所以足够使用。
2、汉字机内码
计算机既要处理汉字,也要处理西文,。
为了实现中、西文兼容,通常利用字节最高位来区分某个码值是代表汉字或ASCII码字符。
具体的作法
是,若最高位为“1”视为汉字符,为“0”视为ASCII字符。
所以,汉字机内码可在上述国际码的基础上,把2个字节的最高位一律由“0”改为“1”而构成。
例如汉字“大”字的国际码为3473H,两个字节的最高位均为“0”(见图1。
1(a)。
把两个最高位全改成“1”,变成B4F3H,就可得“大”字的机内码(见图1。
1(b)。
由
(a)国际码3474 代表汉字“大”字
(b)机内码代表汉字“大”字由此可见,同一汉字的汉字交换码与汉字机内码窗帘并不相同,而对ASCII字符来说,机内码与交换码的码值是一样的。
3、汉字输入码
西文输入时,想输入什么字符便按什么键,输入码与机内码总是一致的。
汉字输入则不同,假设现在要输入汉字“大”字,在键盘上并无标有“大”字的按键。
如果彩“拼音输入法”,便须在键盘上依次按下“d”、“a”两键,这里的“da”便是“大”字的输入编码。
如果换一种汉字输入法,输入编码也得换一种样子。
换句话说,汉字输入码不仅不同于它的机内码,而且当改变汉字输入法时,同一汉字的输入码也将随之变更。
需要指出,无论彩哪一种汉字输入法,当用户向计算机输入汉字时,存入计算机中的总是它的机内码,与所采用的输入法无关。
实际上不管使用何种输入法,在输入码与机内码之间总是存在着一一对应的关系,很容易通过“输入管理程序”把输入码转换为机内码。
可见输入码仅是供用户选用的编码,故也称为“外码”,而机内码则是供计算机识别的“内码”,其码值是唯一的。
二者通过键盘管理程序来转换,
如图1.2所显示。
各种汉字输入码统一的汉字机内码
(外码)(内码)
4、汉字字形码
显示/打印文字时还要用到汉字字形码。
通常汉字显示使用16*16点阵,汉字打印可选用24*24、32*32、48*48等点阵。
点数愈多,打印的字体愈美观,但汉字库占用的存储空间也愈大。
例如一个24*24的汉字占用空间为72个字节,一个48*48的汉字将占用288个字节。
综上可知,无论西文字符和中文字符,在机内一律用二进制编码来表示。
但因汉字符和西文字母数量悬殊,所以后者可采用单字节码,前必须采用双字节码。
又因二者共用一个存储器,导致汉字机内码不同于它的交换码;二者要共用同一键盘,使汉字不得不实行编码输入。
汉字库占用的空间,也远比西文字库(称为字符发生器)为大。
汉字处理较纯西文处理需要更多的时间与空间,原因就在于此。