1、1.2 计算机中信息的表示形式二进制基本概念2计算机中的数据 计算机系统的组成包括硬件和软件 除此之外,计算机还要进行数据处理,那么,计算机如何表示数据?也即计算机中信息的表示方式问题 数据是计算机处理的对象,所以,研究数据的表示方式非常重要 也可以看出来,计算机技术问题,除了研究硬件、软件,还必须研究数据,首要的问题是研究数据的表示方式3计算机中的数据 事实上,计算机中的数据采用二进制 不只数字用二进制,计算机中的所有信息都用二进制数来表示(后面将会看到)即计算机中信息的表示方式是采用二进制代码(二进制数)因此,学习和了解二进制的概念非常重要4计算机中的数据 计算机为什么采用二进制?二进制只
2、有2个数码,0或1,即2个状态 在现实世界中,表示2个状态的电子逻辑器件很容易实现。5计算机中的数据 例如:灯泡的亮和暗;开关的开和关等 在计算机中,一般采用电子开关,用电子器件实现,如电子管、晶体管等6关于进位计数制的概念 一般的计数方法都采用进位计数制,人,习惯使用十进制 在某一位,当计数满后,清0,并向高位进位 一个数字,有多位,某数码在不同的位置表示不同的数值,即不同数位的数字有不同的权值7关于进位计数制的概念 例如:555,可以展开为:5102+5101+5100 同样一个5,在不同位位置,表示不同的数值值 对于十进制,当数到9时必须进位,这就是进位计数制。对于二进制来说,概念相同8
3、1.2.1计算机中的数制 人比较熟悉10进制,但是,计算机使用二进制 为了学习二进制,先了解十进制 1.十进制数(D)有10个数码,分别为0,1,29,基数为10,逢十进一,权为10n 2.二进制数(B)2个数码,分别为0,1,基数为2,逢二进一,权为2n91.2.1计算机中的数制 可见,二进制数码个数比较少,因此比较简单,容易实现(但肯定也会带来问题)二进制运算规则也很简单:0+0,1+0,(交换律)0+1,与十进制都一样。但1+1=0,此时将进位 乘法与十进制完全相同 下面我们来比较下十进制数和二进制数:(见教科书表1-7)10二、八、十、十六进制之间关系对照二、八、十、十六进制之间关系对
4、照十进制十进制 二进制二进制 十六进制十六进制 八进制八进制 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 8 10 9 1001 9 11 10 1010 A 12 11 1011 B 13 12 1100 C 14 13 1101 D 15 14 1110 E 16 15 1111 F 17111.2.1计算机中的数制 发现什么问题?二进制只有2个数码,比较容易实现 但缺点是位数比较多,因为每位权小 另外,读起来和理解方面比较困难12数制之间的转换 二进制虽然简单,但是人不容
5、易识别 因此,经常要在人与计算机之间进行转换(比如计算IP地址的时候就要转换)人用十进制;可是,计算机必须在内部转换为二进制;然后用二进制进行数据处理;处理之后,再用十进制数表示出来13十二进制之间的转换 十进制转换为二进制 如93.625 方法是,分为2部分 整数部分反复除以2,取余数 小数部分反复乘以2,取整数 结果为:1011101.10114二十进制之间的转换 二进制转换为十进制,采用按权展开方式 方法是,把二进制数按权展开,得到一个多项式,取多项式的和,既得二进制数 例如:1011101.101 结果为93.62515其他进制 在计算机技术中,还经常要采用其他辅助进制,主要有8进制和
6、16进制 八进制(O)8个数码,基数为8,逢8进1 数码为0,1,27(借用10进制的前8个数码)163.其他进制 十六进制(H)16个数码,基数为16,逢16进1 数码为0,1,29,A,B,C,D,E,F(借用10进制10个数字后还不够,因此用字母代替)17其他进制之间的转换 8进制与2进制之间的关系是,每位8进制数恰好对应3位2进制数 因此,可以每3位二进制数分开,获得8进制数的1位 16进制与2进制之间的关系是,每位16进制数恰好对应4位2进制数 因此,可以每4位二进制数分开,获得16进制数 举例如下:18其他进制之间的转换 例如:101011转换为8进制为53,转换为16进制数为2B
7、 反之,也可以把这些8进制数或者16进制数转换为2进制 至于8进制数和16进制数与10进制数之间的转换,可以通过2进制进行“中转”191.2.2字符的表示方法 字符指英文字母、数字(阿拉伯)、标点符号和控制字符等 实际上,恰好是键盘上的键名 字符如何用二进制表示?可以采用ASCII码201.2.2字符的表示方法 因为这些字符个数在100个左右,所以,可以用7位二进制数进行编码(因为7位二进制数可以表示128个状态)实际上,用8位,高位置0(使成为1字节)详见ASCII码表,例如:0100 0001 表示A,0100 0010 表示B 0110 0001 表示a,0110 0010 表示b 21
8、其他信息的表示方式 二进制除了表示数字和字符以为,还可以表示其他信息 事实上,在计算机中,任何信息都可以用二进制表示,包括:汉字、声音、图形、图像和视频信息等 这些统称为数据,又称为多媒体数据多媒体数据,或者多媒体信息 所以,我们可以说,计算机可以处理多媒体信息,计算机是多媒体的22其他信息的表示方式 还有一点很重要,就是程序的指令也是用二进制数表示的,称为二进制指令代码 由此可见,二进制对于计算机是何等重要。而提出计算机采用二进制的,也是我们所崇敬的冯诺依曼,这位著名的数学家,计算机专家231.2.3二进制数据的组织 在计算机技术中,对二进制数据有些表示方法,并有一些特殊的称谓,即二进制的单
9、位 位:1位二进制数,称为1比特,1bit,或者1b 这个单位常用,比如有线宽带网速4Mb 这里给出了一些比较大的单位,包括:1Kb=1024b 1Mb=1024Kb 1Gb=1024Mb241.2.3二进制数据的组织 字节:把8位二进制数组织起来,称为1字节,1Byte,或者1B 即1B=8b 计算机中很多信息都以B为基本单位,比如存储器的存储容量、网速等251.2.3二进制数据的组织 例如内存容量2GB,网络下载速度384KB等 这里给出了一些新的单位,他们之间的关系是:1KB=1024B;1MB=1024KB;1GB=1024M261.2.3二进制数据的组织 字长:字长表示计算机一次能够
10、处理数据的位宽 字长是表示计算机性能和处理能力的量 实际上,是电子逻辑器件(部件)的个数,字长越长,所需逻辑器件越多,制作难度越大 比如早期微型机字长为8位,后来发展为16位,再后来是32位,现在已经是64位271.2.4 汉字编码的概念 现在讨论汉字信息处理,即汉字的二进制编码的问题 可以说,用计算机可以处理各类信息,但都必须采用二进制编码 计算机可以处理汉字,但是,对汉字也要进行二进制编码,即汉字码281.2.4 汉字编码的概念 汉字码包括:机内码、交换码、字型码和外码 汉字的机内码、交换码和字型码都是用二进制数来表示汉字的方法(详见P20)其中:291.2.4 汉字编码的概念 机内码:用
11、于存储汉字,用2个字节二进制数(2Byte)表示汉字,称为区位码,理论上可以表示汉字个数为65536。实际上,分为1级和2级,其中1级大概3千多常用汉字,2级也是3千多,共6千多常用汉字301.2.4 汉字编码的概念 英文字母是用1个字节表示,而汉字用2个 可见表示汉字比较麻烦,因为汉字比较多 当然,如果用2个字节表示英文字母或数字也可以,此时称为全角311.2.4 汉字编码的概念 交换码:是为了在计算机网络中传输时的一种交换标准,以便和其他语言进行交流 交换码又称为国标码,即国家标准汉字编码,符合GB2312-80标准 交换码也是2个字节,与内码具有一定的关系321.2.4 汉字编码的概念 字型码:用于在显示器上、或者打印机上输出汉字(见P21)参见后页图33341.2.4 汉字编码的概念 外码:即汉字输入法编码,已经在汉字输入课程讨论过,但外码是用拼音或字型对汉字输入进行编码 各码之间的关系详见P21,如后页图3536小结 总之:计算机组成包括硬件、软件和信息 信息用二进制代码来表示 二进制代码可以表示数字、字符、汉字、图形、声音等信息 这些统称为计算机中的数据 二进制还可以表示程序,即二进制代码命令 又称为机器语言指令,用于编制计算机程序结 束再 见