哈尔滨学院数学与计算机学院教案周次第周,第次课授课时间200年月日/星期授课时数章节名称1.3计算机中数的表示与存储授课方式课堂讲授(√);实验课();多媒体教学();网络教学();双语()教学目的二进制表示信息(掌握);进位计数制(熟练掌握);不同数制之间的转换(熟练掌握);信息存储单位(熟练掌握);计算机编码(掌握);中文信息编码(了解)。教学重点计算机中数的表示与存储教学难点计算机中数的表示与存储教学方法讲授教学环境2601教学用具多媒体教学设备教学过程及内容备注13计算机中数的表示与存储不论是指令还是数据,若想在计算机中进行存储、运算、处理、传输,都必须采用二进制编码形式,即便是图形、声音等这样的信息,也必须转换成二进制数的形式,才能存入计算机中。有如下几个原因:1.易于物理实现2.二进制数运算规则简单3.机器可靠性高4.适合逻辑运算1.3.1进位计数制数值信息在计算机内的表示方法都是用二进制数来表示。1.进位计数制凡是按进位的方式计数的数制叫做进位计数制,简称进位制。人们日常生活中最熟悉的是十进制数,但在与计算机打交道时,会接触到二进制、八进制、十六进制。数据无论采用哪种进位计数制表示,都涉及到两个基本问题:基数与各数位的权。基数是指该进位计数制中允许选用的基本数码的个数,例如十进制数,每个数位上允许选用0、1、2、…、9共十个不同数码中的某一个,因此十进制的基数为10,每个数位计满10就向高位进1,即“逢十进一”,故称为十进位计数制,简称十进制。教学过程及内容备注例1-1一个十进制数可表示为按权展开的多项式256.47=2×102+5×101+6×l00+4×10-1+7×10-2上式中,各位的权依次为:102、101、l00、10-1、10-2。以百位为例,该位的权为102,该位的数值则为2×102,即数码2与权102的乘积。2.常用进位制的基数与数码下表是需要熟悉的几种进位制的基数和数码:表1-1常见进位计数制的基数和数码进位制基数数码二进制20,1八进制80,1,2,3,4,5,6,7十进制100,1,2,3,4,5,6,7,8,9十六进制160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F从表1-1可以看出,二进制的基数为2,“逢2进1”;八进制的基数为8,“逢8进1”;十六进制的基数为16,“逢16进1”。几种常见的进位制的对应关系见表1-2。表1.2常见进位计数制的对应关系二进制十进制八进制十六进制二进制十进制八进制十六进制000010019119111110101012A1022210111113B1133311001214C10044411011315D10155511101416E11066611111517F111777100001620101000810810001172111为了区分不同计数制的数,常采用括号外面加数字下标的表示方法,如(1101)2表示二进制数1101,(6688)10表示十进制6688。另外,还可在数字后面加写相应的英文字母作为标识,B(Binary)表示二进制,如二进制数100可写成100B;O(Octonary)表示八进制数(因为O在表示时易与数字0混淆,所以有时也用Q来表示八进制),如八进制数56可写成56O或56Q;H(Hexadecimal)表示十六进制,如十六进制数FA5可写成FA5H;D(Decimal)表示十进制数,如十进制数100可写成100D。一般约定无后缀的数字为十进制数。1.3.2不同数制之间的转换下面讨论上述几种进位计数制之间的转换问题。1.其他进制数转换为十进制数对于一个任意进制数转换为十进制数,只需要将这一进制数的各位数字与它的位权相乘,然后按十进制运算规则相加即可。教学过程及内容备注例1-2二进制数转换为十进制数(1011.01)2=1×24-1+0×23-1+1×22-1+1×21-1+0×2-1+1×2-2=23+21+20+2-2=(11.25)10例1-3八进制数转换为十进制数(3506.2)8=3×83十5×82十0×81十6×80十2×8-1=(1862.25)10例1-4十六进制数转换为十进制数(0.2A)16=2×16-1十10×16-2=(0.1640625)102.十进制数转换为其他进制数以十进制数转换为二进制数为例。转换时,若二进制数包含整数与小数两部分,则分别转换,然后再相加起来即可得出结果。十进制整数转换成二进制的整数,采用的是“除2取余法”。例1-5将十进制数149转换为二进制数原数和每一次相除的商每次相除的余数21491(最低位)274023712180291240220211(最高位)0即(149)10=(10010101)2十进制小数转换成二进制数时,采用的是“乘2取整法”。例1-6将十进制数0.3125转换成二进制数整数部分小数部分得到的整数位0.3125×20.625×21.25×20.5×21.0即(0.3125)10=(0.0101)2要注意的是,十进制小数常常不能准确地换算成为等值的二进制小数,乘法过程会不断进行下去(小数值达不到0),因此只能精确到指定的位数。.保留整数,小数部分继续乘以20101教学过程及内容备注若将十进制数149.3125转换成二进制数,可分别按例1-5与例1-6进行整数部分和小数部分的转换,然后再相加得到最后的结果:(149.3125)10=(100101010101)2。十进制数转换为其他进制数时,转换方法与十进制数转换二进制数相同,只需除以或乘以该进制数的基数。例如,十进制数转换为八进制数可采用“除8取余法”和“乘8取整法”。3.二、八、十六进制数的相互转换二、八、十六进制数的相互转换在应用中占有重要的地位。由于这三种数制的权之间有内在的联系,即23=8,24=16,因而它们之间的转换比较容易,即每位八进制数相当于三位二进制数,每位十六进制数相当于四位二进制数。(1)二进制数转换为八进制数转换前,首先要划分位组。位组的划分是以小数点为起点,三位二进制数一组,整数部分向左划分,小数部分向右划分。注意,小数部分不足三位的要以0补位。位组划分好之后,以每个位组对应一个八进制数进行转化。例1-7将二进制数1011010.1转换成八进制数001011010.100132.4(1011010.1)2=(132.4)8(2)二进制数转换为十六进制数位组的划分是以小数点为起点,四位二进制数一组,整数部分向左划分,小数部分向右划分。注意,小数部分不足四位的要以0补位。位组划分好之后,以每个位组对应一个十六进制数进行转化。例1-8将二进制数1011010.1转换成十六进制数01011010.10005A.8(1011010.1)2=(5A.8)16(3)八进制数转换为二进制数一位八进制数相当于三位二进制的数,转换的时候,将一位八进制数转换成三位二进数,不足三位的以0补位,不能省略。转换完成之后,将没有数学意义的零(整数部分的前导零和小数部分尾部的零)省略,这样完成了转换。例1-9将八进制数127.14转换成二进制数127.14001010111.001100(127.14)8=(1010111.0011)2(4)十六进制向二进制的转化一位十六进制的相当于四位二进制的数,转换的时候,将一位十六进制数转换成四位二进制数,不足四位的以0补位,不能省略。转换完成之后,将没有数学意义的零(整数部分的前导零和小数部分尾部的零)省略,这样完成了转换。例1-10将十六进制数F7.28转换成二进制数F7.2811110111.00101000(F7.28)16=(11110111.00101)2教学过程及内容备注1.3.3信息存储单位在计算机内部,各种信息都是以二进制编码形式存储,在计算机的存储介质上,二进制信息是常采用字节为基本单位来进行存储的。(1)位(bit,简称比特)计算机能够处理的数据的最小单位,表示一位二进制信息。(2)字节(byte,缩写为B)一个字节由八位二进制数字组成(1byte=8bit)。字节是信息存储中最常用的基本单位。字节与位及常见的单位关系如下:KB1KB=1024B=210BMB1MB=1024KB=220BGB1GB=1024MB=230BTB1TB=1024GB=240B(3)字(word)字是位的组合,并作为一个独立的信息单位处理,通常两个字节作为一个字,也就是指计算机一次存取、加工、运算和传递的数据的长度。字又称为计算机字,它的含义取决于机器的类型、字长以及使用者的要求。常用的固定字长为16位。(4)机器字长在讨论信息单位时,还有一个与机器硬件指标有关的单位,这就是机器字长。机器字长一般是指参加运算的寄存器所含有的二进制数的位数,它代表了机器的精度。机器的功能设计决定了机器的字长。一般大型机用于数值计算,为保证足够的精度,需要较长的字长,如32位、64位、128位等,而小型机、微机一般字长为16位、32位、64位等。1.3.4二进制数在计算机内的表示在计算机中采用的是二进制,只有“0”和“1”两种形式,所以对于带符号的数,机器中约定数的某一位表示符号,常用“0”表示正号,用“1”表示负号,这种在计算机中使用的连同符号一起数码化的数称为机器数,机器数表示方法有三种,原码、反码和补码,其中,补码运算方便,二进制的减法可用补码的加法实现,因此在计算机中一般使用补码来表示数。1.3.5计算机编码计算机除了用于数值计算之外,还要进行大量的信息处理,也就是要对表达各种信息的符号进行加工。由若干位组成的二进制数代表一个符号,符号集内所有的二进制数与一个符号惟一对应,这就是“计算机编码”。1.ASCII码ASCII码(AmericanStandardCodeforInformationInterchange)是“美国标准信息交换代码”的简称,是目前国际上最为流行的字符信息编码方案。ASCII码包括0~9十个数字、大小写英文字母及专用符号等95种可打印字符,还有33种控制字符(如回车、换行等)。一个字符的ASCII码由七位二进制数编码组成,所以ASCII码最多可表示128个不同的符号,一般一个ASCII字符占用一个字节。教学过程及内容备注2.中文信息编码英文单词由26个英文字符可以拼写完成,而汉语由一个一个汉字组成,常用汉字就有2000余个。因此,计算机在处理汉字时,必须先对汉字进行编码。(1)汉字机内码:简称内码,是计算机在内部进行存储、传输和运算所使用的汉字编码。汉字机内码采用双字节编码方案,即用两个字节(16位二进制数)表示一个汉字的内码。汉字的输入码可多种多样,但对同一个汉字其内码只有一个,实际上内码是指汉字在字库中的物理位置。(2)汉字交换码:又称国标码。当汉字信息在计算机之间传递和交换时,要求传送的汉字编码信息必须完全一致,才不会造成混乱。为此,1981年我国根据有关国际标准规定了《信息交换用汉字编码字集——基本字集》,即GB2312—80,简称国标码。该字集共收了7445个字符和图形,其中有6763个汉字,共分为两级,一级是3755个,属于常用汉字,按汉语拼音字母顺序排序;二级汉字3008个,属非常用汉字,排部首顺序排序。该字集还收集了各种图形符号(英文、日文、俄文、希腊文字母、序号、汉字制表符等),共计682个。国标码将这些符号分成94个区,每个区又分成94位。每个位置可存放一个字符,这样每个字符都有一个惟一对应的区码和位码。区码和位码组成区位码。区与位分别用一个七位二进制数的十进制表示。如汉字“中”位于第54区第48位,其区位码就是5448。区位码也是一种常用的汉字输入码(外码),大部分汉字系统中都配有区位码输入法。(3)汉字输入码:又称外部码,是按照某种输入法输入汉字时所采用的编码。每个汉字对应一个编码,但一个编码可能对应若干个汉字。汉字的输入码有很多种类型,而且各有特点。用户可以根据自己的需要选择不同的输入法(外码)。目前使用较普遍的汉字输入法有拼音码、自然码、五笔字型码,智能ABC等。(4)汉字输出码:又称字型码或汉字发生器编码,其