首页 理论教育计算机内数据存储示例

计算机内数据存储示例

【摘要】:老师告诉他,在计算机内部采用二进制来保存数据和信息。

1.2.2.1 了解计算机内部的二进制数字世界

小明:计算机里能存储的数据种类可真多,它们是以怎样的形式放在计算机里的呢?

老师:计算机有它们特有的语言,即二进制形式数据。下面我们就来认识一下计算机里的二进制吧!

计算机中可以存储很多种信息,如汉字、图像、音频、视频等,那么它们是用什么形式保存在计算机中的呢?小明带着疑问去咨询老师。

老师告诉他,在计算机内部采用二进制来保存数据和信息。无论是指令还是数据,若想存入计算机,都必须采用二进制数编码形式,即使是图形、图像、声音等信息,也必须转换成二进制,才能存入计算机。

思考:为什么在计算机中必须使用二进制数,而不使用人们习惯的十进制数呢?

原因在于:

(1)易于物理实现:因为具有两种稳定状态的物理器件很多,例如,电路的导通与截止、电压的高与低、磁性材料的正向极化与反向极化等。它们恰好对应表示1和0两个符号。

(2)机器可靠性高:由于电压的高低、电流的有无等都是一种跃变,两种状态分明,所以0和1两个数的传输和处理抗干扰性强,不易出错,鉴别信息的可靠性好。

(3)运算规则简单:二进制数的运算法则比较简单,例如,二进制数的四则运算法则分别只有三条。由于二进制数运算法则少,可使计算机运算器的硬件结构大大简化,控制也就简单多了。

虽然在计算机内部都使用二进制数来表示各种信息,但计算机仍采用人们熟悉和便于阅读的形式与外部联系,如十进制、八进制、十六进制数据,文字和图形信息等,由计算机系统将各种形式的信息转化为二进制的形式并储存在计算机的内部。

1.2.2.2 了解数据的存储单位

1.位(bit)

计算机所处理的数据信息,是以二进制数编码表示的。其二进制数字“0”和“1”是构成信息的最小单位,称为“位”,或者比特(bit)。位是计算机内部数据储存的最小单位,如,11010100是一个8位二进制数。

2.字节(Byte)

字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节;在Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。

数据存储以“字节”为单位,数据传输以“位”为单位,一个位就代表一个0或1(即二进制),每8个位(bit)组成一个字节(Byte)。

8bit=1Byte

注意:1b不等于1B,数据存储是以十进制表示的,数据传输是以二进制表示的,所以1KB不等于1000B。1KB=210 Byte=1024×8bit

其中1024=210(2的10次方),

1KB(Kibibyte,千字节)=1024B

1MB(Mebibyte,兆字节,简称“兆”)=1024KB

1GB(Gigabyte,吉字节,又称“千兆”)=1024MB

1TB(Terabyte,万亿字节,太字节)=1024GB

1PB(Pe Tabyte,千万亿字节,拍字节)=1024TB

1EB(Exabyte,百亿亿字节,艾字节)=1024PB

1ZB(Zet Tabyte,十万亿亿字节,泽字节)=1024EB

1YB(Yot Tabyte,一亿亿亿字节,尧字节)=1024ZB

1BB(Brontobyte,一千亿亿亿字节)=1024YB

3.字

在计算机中,一般用若干个二进制位表示一个数或一条指令,把它们作为一个整体来存取、加工和传送。这种作为一个整体来处理的二进制位串称为字(Word)。一个字通常由一个或多个(一般是字节的整数位)字节构成。

4.字长

计算机的每个字所包含的位数称为字长。根据计算机的不同,字长有固定的和可变的两种。固定字长,即字长度不论什么情况都是固定不变的;可变字长,则在一定范围内,其长度是可变的。

计算的字长是指它一次可处理的二进制数字的数目。计算机处理数据的速率,自然和它一次能加工的位数以及进行运算的快慢有关。如果一台计算机的字长是另一台计算机的两倍,即使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。字长是衡量计算机性能的一个重要因素。

字与字长的区别:字是单位,而字长是指标,指标需要用单位去衡量。正如生活中重量与千克的关系,千克是单位,重量是指标,重量需要用千克加以衡量一样。

1.2.2.3 计算机中非数值数据的表示

计算机是处理信息的工具,而信息既包括数字这样的数值信息,也包括文字符号、图形、声音等非数值信息。

1.字符的表示(www.chuimin.cn)

在计算机处理信息的过程中,要处理数值数据和字符数据,因此需要将数字、运算符、字母、标点符号等字符用二进制编码来表示、存储和处理。目前通用的是美国国家标准学会规定的ASCII码(如表1-2-3所示),即美国标准信息交换代码。每个字符用7位二进制数来表示,共有128种状态,这128种状态表示了128种字符,包括大小字母、0…9、其他符号、控制符。

表1-2-3 7位ASCII码表

2.汉字的数字化表示

(1)汉字输入码。汉字输入方法大体可分为:区位码(数字码)、音码、形码、音形码。

区位码:优点是无重码或重码率低,缺点是难于记忆。

例题:一个汉字的机内码目前通常用2个字节来表示:第一个字节是区码的区号加(160)10;第二个字节是区位码的位码加(160)10

已知:汉字“却”的区位码是4020,试写出机内码两个字节的二进制的代码:

【答案】“却”的机内码是160+40=200,其二进制代码是(11001000)2;“却”的机内码是160+20=180,其二进制代码是(10110100)2

音码:优点是大多数人都易于掌握,但同音字多,重码率高,影响输入的速度。

形码:根据汉字的字形进行编码,编码的规则较多,难于记忆,必须经过训练才能较好地掌握;重码率低。

音形码:将音码和形码结合起来,输入汉字,减少重码率,提高汉字输入速度。

(2)汉字交换码。汉字交换码是指不同的具有汉字处理功能的计算机系统之间在交换汉字信息时所使用的代码标准。自国家标准GB2312-80公布以来,我国一直沿用该标准所规定的国标码作为统一的汉字信息交换码。

GB2312-80标准包括了6763个汉字,按其使用频度分为一级汉字3755个和二级汉字3008个。一级汉字按拼音排序,二级汉字按部首排序。此外,该标准还包括标点符号、数种西文字母、图形、数码等符号682个。

区位码的区码和位码均采用从01到94的十进制,国标码采用十六进制的21H到73H(数字后加H表示其为十六进制数)。区位码和国标码的换算关系是:区码和位码分别加上十进制数32。如“国”字在表中的25行90列,其区位码为2590,国标码是397AH。

3.字符和汉字的输出

字符和汉字除用“内码”被表示、存储和处理外,另一个重要的表示是字符和汉字的“图形”字符输出,即显示和打印出字符和汉字的外部形状。为此,计算机系统必须维护一个“字库”,存储每一个字符或汉字的可视字形。这种可视字形称为“字模”。字模犹如印刷厂里活字排版用的铅字;不同的是计算机字库中对每一个字符或汉字只保存一个字模,而印刷厂却要保存许多铅字。字库有ASCII字符字库和汉字字库,分别存储字符字模和汉字字模。

字符字模和字库:建立字模的一种方法是“点阵”法。一个字母,如“A”,用7×5的点阵表示它,即每一个字符占据7行5列网格的面积。在这个网格上用笔涂写一个字符图形,凡笔经过的格子涂成黑色,笔没有经过的格子保留白色,如图1-2-1所示。

图1-2-1 字符字模

根据字符的网格,用一组二进制数表示它。字符A的字模对应的一组二进制数是:0011111,0100100,1000100,0100100,0011111,表示成十六进制是:1F,24,44,24,1F。这一组二进制数,称为“位图”(Bitmap),就表示了一个字符。所有字符的字模集中在一起,就构成字符的字库。对ASCII字符而言,最多只有128个字模。字库中的每一个字模与该字符的内码(即字符编码)之间建立一种对应关系,使当已知一个字符的内码时,就能按已规定的对应关系获得该字符的字模(即它的位图),并送到输出设备上显示出来。

如图1-2-2所示,展示了利用字库显示字符的工作原理。当CPU产生一个字符(如A)要在显示器上显示时,则CPU把字符的内码(如41H)送到显示器的显示存储器中,显示器根据内码从字库读出字形信息(即A的字模信息),送到显示器并显示在屏幕上。

图1-2-2 字符显示的工作原理

汉字字模和字库与字符的字模和字库的表示方法类似,一个汉字,如“中”,亦用点阵表示之。只是汉字有各种不同的字体、字形和字号,要用不同规格的点阵表示之。如有16×16,16×32,32×32,48×48等规格的汉字点阵,每一个点在存储器中用一个二进制位(bit)存储。例如,在16×16的点阵中,需8×32bit的存储空间,每8bit为1字节,所以,需32字节的存储空间。在相同点阵中,不管其笔画繁简,每个汉字所占的字节数相等。所有汉字字模集中在一起存储和管理,即形成汉字字库。如图1-2-3所示,是通常用于显示器的16×16点阵汉字字模。

图1-2-3 汉字点阵

汉字字库的管理和使用与字符字库雷同,此处不再赘述。但是,汉字字库较字符字库而言要大得多。一般来讲,字符字模不超过128个,而汉字字库却数以万计,管理和使用技术也艰难得多。当然,汉字字模的点阵表示不是唯一的方法,近年来还有诸如用矢量法表示汉字字模。所谓的矢量汉字是指用矢量方法将汉字点阵字模进行压缩后得到的汉字字形的数字化信息。矢量表示法是为了节省存储空间而采用的字形数据压缩技术。

4.其他信息的数字化

(1)图像信息的数字化。一幅图像可以看成是由一个个像素点构成的,图像的信息化,就是对每个像素用若干个二进制数码进行编码。图像信息数字化后,往往还要进行压缩。图像文件的后缀名有bmp、gif、jpg等。

(2)声音信息的数字化。自然界的声音是一种连续变化的模拟信息,可以采用A/D转换器对声音信息进行数字化。声音文件的后缀名有wav、mp3等。

(3)视频信息的数字化。视频信息可以看成由连续变换的多幅图像构成,播放视频信息每秒需传输和处理25幅以上的图像。视频信息数字化后的存储量相当大,所以需要进行压缩处理。视频文件后缀名有avi、mpg等。

img

二进制的发明

小明:二进制数这么神奇,是谁发明的二进制数用在计算机中的呢?

二进制是由德国伟大的数学家物理学家唯心主义哲学家莱布尼茨发明的。现存的莱布尼茨一份拉丁文手稿题为“二进制算术”,写于1679年3月15日。

img

用所学的知识做以下练习:

(1)(563.25)10=(   )2=(   )8=(   )16

(2)(100111100011)2=(   )10=(   )8=(   )16

(3)(AC36)16=(   )2=(   )8=(   )10