一、数据与信息数据(Data)和信息(Information)是两个不同的概念,数据是信息的具体表现形式,是各种各样的物理符号及其组合,反映信息的内容。
信息(Information)是对数据进行加工处理后得到的有用的数据。
计算机中的数据、信息都是用二进制形式编码表示的,而日常生活中人们习惯用十进制数来表示数据。
为有效认识计算机中信息的表示,首先理解二进制、八进制、十进制、十六进制数之间的相互转换。
二、数制及其转换1.所谓数制(也称进位计数制)是指用一组固定的数字符号、按照一定的运算规则、由低位到高位进位来表示数的一种计数方法。
通常,将其所使用的符号个数称为该数制的“基数”,基数的方幂称为“位权”(简称“权”),表示数制中每一固定位置对应的单位值。
对任何N进制,都有一套统一的运算规则,即采用“逢N进一”的原则进行运算。
如一个十进制数据1234.5,其基数为10,数字5所在位的权值为10-1(即0.1),数字4所在的权值为100(即1),数字3所在位的权值为101(即10),以此类推。
在计算机系统中,除人们日常使用的十进制外,还有二进制、八进制、十六进制。
常用进制数的表示如表1.2.1所示。
表1.2.1 常用进制数的表示计算机中常用的二、八、十、十六进位制数的对应关系如表1.2所示。
表1.2.2 常用进位制数的对应关系为区分不同数制表示的数,在书写时可以有2种方法表示,以十进制数5表示为例。
第一种采用字母B(Binary)表示二进制(101B)、字母O(Octal)或Q表示八进制(5O或者5Q)、D(Decimal)表示十进制(5D)、字母H (Hexadecimal)表示十六进制(5H);第二种表示方法就是将数值加括号,括号后面是该数值的进位制值,如十进制5表示为(5)10。
2.不同数制之间的转换①十进制数转换成二、八、十六进制数将十进制数转换为二、八、十六进制数时,可将此数分成整数部分与小数部分分别进行转换,然后再连接起来即可。
整数部分:通常采用“除基数取余”法,即用十进制数的整数部分反复除以基数取余数,直到商为0,第一个余数为低位,最后一个余数为高位,将每次所得余数按从左到右的顺序依次由高到低位排列即可得到该进制数。
小数部分:通常采用“乘以基数取整”法,即用十进制数的小数部分依次乘以基数,分别取出整数部分,直到满足要求的精度或小数部分为0,第一个为高位,最后一个为低位,将所得整数按从左到右的顺序依次由高到低位组成小数点后的各位。
下面以十进制转换成二进制为例进行说明,十进制转换成八、十六进制完全类似,只是基数不同而已。
[例1-2-1] 75.625 D = 1001011.101B,具体转换过程如图1-2-1所示。
图1-2-1 十进制转换为二进制过程图②二、八、十六进制数转换成十进制数将二、八、十六进制数转换成十进制数的一般方法是使用以下公式完成:(F)R =a n-1×R n-1 + a n-2×R n-2 + ... + a1×R1 + a0×R0 + a-1×R-1 + ... a-m×R-m其中,R为基数,Ri为对应数位的位权。
[例1-2-2] (101011)B=1×25+0×24+1×23+0×22+1×21+1×20=43D(370)O =3×82+7×81+0×80 =248D(2CF)H = 2×162+12×161+15×160 =719D③二进制转换成八、十六进制二进制转换成八(十六)进制的方法:整数部分从低位向高位每三位(四位)一组,不足三(四)位在前补0;小数部分从小数点后第一位开始向右每三位(四位)一组,不足三位(四位)在后补0(注意,整数在最左面补0,小数在最右面补0);然后计算出每组对应的八(十六)进制数,按原来顺序连接即得到与之等价的八(十六)进制数。
[例1-2-3]10110110111.01001B= 010 110 110 111.010 010B =(2667.22)O= 0101 1011 0111.0100 1000B =(5B.748)H④八、十六进制转换成二进制八(十六)进制转换成二进制的方法:构成该数的每位数均用相对应的三位(四位)二进制表示,然后连接起来即可。
每位均应表示成三位(四位)二进制代码,不足的加O0补足。
[例1-2-4]207.02 Q = 010000111. 000010B=10000111.00001B3AF.048H = 001110101111. 000001001000B = 1110101111. 000001001B3.信息的存储单位在计算机中,信息的存储单位通常有b、B、KB、MB、GB、TB等。
b(位/比特bit):这是内存中最小的单位,二进制数序列中的一个0或一个1即为一比特。
B(字节Byte):这是计算机中处理信息的基本单位,1B=8bit。
KB(千字节Kilo Byte):1KB=1024Byte。
MB(兆字节Mega Byte):1MB=1024KB。
GB(吉字节Giga Byte):1GB=1024MB。
TB(T字节Tera byte):1TB=1024GB。
目前微机中内存容量一般为4GB,有的更高,而硬盘的容量一般为几百个GB,有的甚至高达1TB。
4.中西文字符处理计算机内部所有的信息表示、处理都是由二进制表示的。
除了数值信息外的其他信息,如文字、声音、图形、图像、动画、视频等都称非数值信息。
这些非数值信息也是采用0和l两个符号来进行编码的。
下面着重介绍中、西文的编码方案。
(1)ASCII码ASCII(American Standard Code for Information Interchange)码,是“美国标准信息交换码”的简称,是目前国际上最流行的字符信息编码方案。
ASCII码包括0~9共10个数字、52个大小写英文字母、32个标点符号和运算符以及还有34种控制字符(如回车、换行等)。
ASCII码表见表1.3所示。
表1.2.3 标准7位ASCII码字符集在ASCII码标准集中,每个字符用7位二进制代码来表示。
因此,其基本集包括128个不同字符,其编码范围为0000000到1111111(即ASCII码值为0到127)。
ASCII码的机器内码为每个字符占一个字节,其最高位均为0被作为奇偶校验位。
一般情况下,不需要记住各种字符的ASCII码,但应记住常用字符:数字、大写字母、小写字母是连续且有序的。
其中,字符0、A、a的ASCII码十进制分别为48D、65D、97D,十六进制分别为30H、41H、61H。
(2)汉字编码计算机处理汉字信息的前提条件是对每个汉字进行编码,这些编码统称为汉字编码。
①汉字输入码(也称外码):是计算机输入汉字的编码,代表一个汉字的一组键盘符号。
汉字的输入方法不同,同一汉字的输入码可能也不同。
目前,汉字外码的编码方案很多,按编码方法的不同可分为四大类:流水码(又称顺序码),如国标码、区位码等;音码,如全拼、双拼等;形码,如五笔字型、极品五笔等;音形码,如智能ABC、自然码等。
②国标码:汉字信息处理也必须有一个统一的标准编码。
我国国家标准局于1981年5月颁布了《信息交换用汉字编码字符集---基本集》,国家标准代号为GB2312-80,习惯上称国标码。
共对6763个汉字和682个图形字符进行了编码,其编码原则为:汉字用两个字节表示,每个字节用七位编码(高位为0)。
将GB2312---80的全部字符集排列在一个94行94列的二维表中,每两个字节分别用两位十进制编码,前一个字节的编码称为区码,后一个字节的编码称为位码,即区位码。
③机内码:为了避免ASCII码和国标码同时使用时产生二义性问题,大部分汉字系统都采用将国标码每个字节高位置1作为汉字机内码。
这样既解决了汉字机内码与西文机内码之间的二义性,又使汉字机内码与国标码具有极简单的对应关系。
汉字机内码(十六进制)=汉字国标码(十六进制)+8080H。
[例1-2-5] “中”国标码对应的二进制为01010110 01010000B,相应十六进制为5650H,它对应的机内码二进制为11010110 11010000B,相应十六进制为D6D0H。
④汉字字形码及字库:汉字字形码又称汉字字模,用于在显示屏或打印机输出汉字。
汉字字形码通常有两种表示方式:点阵和矢量表示方式。
用点阵表示字形时,汉字字形码指的就是汉字字形点阵的代码。
根据输出汉字的要求不同,点阵的多少也不同。
简易型汉字为16×16点阵,提高型汉字为24×24点阵、32×32点阵、48×48点阵、64×64点阵等。
点阵规模愈大,字形愈清晰、美观,所占存储空间也就越大。
如果用16×16点阵来表示一个汉字,则存储该汉字需要256 bit的存储空间,共需要256/8=32B,两级汉字需占用32×6763/1024KB的存储空间。
而存储一个24×24汉字需要576 bit,共576/8=72B。
因此,字模点阵只能用来构成“字库”,而不能用于机内存储。
字库中存储了每个汉字的点阵代码,当显示输出时才检索字库,输出字模点阵得到字形。
图1-2-2 点阵汉字矢量表示方式存储的是描述汉字字形的轮廓特征,当要输出汉字时,通过计算机的计算,由汉字字形描述信息生成所需大小和形状的汉字点阵。
矢量化字形描述与最终文字显示的大小、分辨率无关,因此可产生高质量的汉字输出。
Windows中使用的TrueType技术就是汉字的矢量表示方式。
点阵和矢量方式区别是,前者编码、存储方式简单、无需转换可直接输出。
但字形放大后的效果差;矢量方式特点正好与前者相反。
其他资料:1946年2月14日,世界上第一台通用电子计算机ENIAC (Electronic Numerical Integrator And Computer,电子数值积分计算机,也可称埃尼阿克) 在美国宾夕法尼亚大学诞生。
它是图灵完全的电子计算机,能够重新编程,解决各种计算问题。
第二次世界大战期间,宾夕法尼亚大学的John Mauchly博士和他的学生J. Presper Eckert应美国军方的要求构思和设计了ENIAC,并为美国陆军的弹道研究实验室(BRL)所使用,用于计算火炮的火力表。
它共使用了18800个真空管,长50英尺,宽30英尺,占地1500平方英尺,重达30吨(大约是一间半的教室大,六只大象重)。
它的计算速度快,每秒可从事5000次的加法运算,运作了九年之久。