计算机信息的表示与存储单位教学重点与难点重点:信息与数据的区别与联系难点:计算机存储与进制转换在早期设计的机械计算装置中,使用的不是二进制,而是十进制或者其他进制,利用齿轮的不同位置表示不同的数值,这种计算装置可能更加接近人类的思想方式。比如说一个计算设备有十个齿轮,它们级连起来,每一个齿轮有十格,小齿轮转一圈大齿轮走一格。这就是一个简单的十位十进制的数据表示设备了,可以表示0到999999999的数字。技术实现简单,计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用“1”和“0”表示。简化运算规则:两个二进制数和、积运算组合各有三种,运算规则简单,有利于简化计算机内部结构,提高运算速度。适合逻辑运算:逻辑代数是逻辑运算的理论依据,二进制只有两个数码,正好与逻辑代数中的“真”和“假”相吻合。易于进行转换,二进制与十进制数易于互相转换。用二进制表示数据具有抗干扰能力强,可靠性高等优点。因为每位数据只有高低两个状态,当受到一定程度的干扰时,仍能可靠地分辨出它是高还是低。计算机采用二进制的优势位:是计算机中存储数据的最小单位。指二进制数中的一个位数,其值为“0”或“1”,其英文名为“bit”。字节:是计算机存储容量的基本单位,计算机存储容量的大小是用字节的多少来衡量的。其英文名为“byte”,通常用“B”表示。一计算机中数据的表示方法:1.数据存储的组织形式:1B=8bit1KB=210B=1024B1MB=210×1KB=210×210B=1024KB1GB=210×1MB=210×210×210B=1024MB1TB=210×1GB=×210×210×210×210B=1024GB为什么容量会缩水?众所周知,在计算机中是采用二进制,这样造成在操作系统中对容量的计算是以每1024为一进制的,每1024字节为1KB,每1024KB为1MB,每1024MB为1GB,每1024GB为1TB;而硬盘厂商在计算容量方面是以每1000为一进制的,每1000字节为1KB,每1000KB为1MB,每1000MB为1GB,每1000GB为1TB,这二者进制上的差异造成了硬盘容量“缩水”。以120GB的硬盘为例:厂商容量计算方法:120GB=120,000MB=120,000,000KB=120,000,000,000字节换算成操作系统计算方法:120,000,000,000字节/1024=117,187,500KB/1024=114,440.91796875MB=114GB。简单算法:硬盘容量/1024*1024*102480,000,000,000/(1024*1024*1024)=74.5G40,000,000,000/(1024*1024*1024)=37.25G硬盘需要分区和格式化,操作系统之间存在着差异,再加上安装操作系统时的复制文件的行为,硬盘会被占用更多空间,所以在操作系统中显示的硬盘容量和标称容量会存在差异,而硬盘的两类容量差值在5%-10%左右应该是正常的。2.数据编码规定用什么样的二进制码来表示字母、数字以及专门符号。有两种字符编码方式:BCD码和ASCII码。按进位的方法进行计数,称为进位计数制。计算机处理的信息都以数据的形式表示,在计算机内部,各种信息都必须经过数字化编码后才能被传送、存储和处理。由于二进制的运算规则和电路简单,因此数据在计算机中均以二进制表示,并用它们的组合表示不同类型的信息。二、进位计数制1、数制的概念数制(NumberSystem)数的表示系统,是指用统一的符号规则来表示数值的方法。常见的数制有二进制、八进制、十进制、十六进制。数码:用不同的数字符号来表示一种数制的数值。基数:一个数制所包含的数字符号的个数。位权:把计算每个“数码”所在位上代表的数值时所乘的常数称为位权。位权是一个指数,以“基数”为“底”,其幂数位的“序号”减1。数位的序号位以小数点为界,其左边的数位序号为0,向左每进一位序号加1,向右每走一位序号减1。因此任一个数都可以表示为一个按位权展开的多项式之各和。如:(1198.7)10=1×103+1×102+9×101+8×100+7×10-1其中103、102、101、100、10-1为位权,10为其数,3、2、0为位。2、十进制特点采用0~9共10个阿拉伯数字符号相邻两位之间为“逢十进一”或“借一当十”的关系位权可表示成10i,10为其基数,i为数位序号。十进制数按位权展开的多项式表示形式为:(3526.7)10=3×103+5×102+2×101+6×100+7×10-1特点数码仅采用0和1,所以基数是2相邻两位之间为“逢二进一”或“借一当二”的关系表示容易、运算简单、工作可靠、逻辑性强二进制运算规则加法:0+0=00+1=11+0=11+1=10减法:0-0=00-1=1(借位)1-0=11-1=0位权可表示成2i,2为其基数,i为数位序号。二进制数按位权展开的多项式表示形式为:(1100.1)2=1×23+1×22+0×21+0×20+1×2-13、二进制4、八进制(Octal)特点采用0~7共8个阿拉伯数字符号,所以基数是8相邻两位之间为“逢八进一”或“借一当八”的关系位权可表示成8i,8为其基数,i为数位序号。八进制数可按位权展开为多项式的和的形式:(1537.6)8=1×83+5×82+3×81+7×80+6×8-15、十六进制(Hexadecimal)特点数码采用0~9共10个阿拉伯数字符号和A、B、C、D、E、F6个字母符号共16个字符,所以基数是16相邻两位之间为“逢十六进一”或“借一当十六”的关系位权可表示成16i,16为其基数,i为数位序号。十六进制数可按位权展开为多项式的和的形式:如:(D7AC.6)16=13×163+7×162+10×161+12×160+6×16-16、二、八、十六进制转换对应关系表二进制八进制十六进制二进制八进制十六进制二进制八进制十六进制0000000110661100一C0001110111771101一D0010221000—81110一E0011331001一91111一F0100441010一A0101551011一B三、不同数制之间的转换转换规则按位权展开求和。只需将每一位数字乘以它的权ni,再以十进制的方法相加就可以得到它的十进制的值(注意,小数点左侧相邻位的权为n0,整数部分从右向左,每移一位,幂次加1;小数部分从左向右,每移一位,幂次减1)例:二进制转换成十进制(11010.101)2=1×24+1×23+0×22+1×21+0×20+1×2-1+0×2-2+1×2-3=(26.625)10例:八进制转换成十进制(107.1)8=1×82+0×81+7×80+1×8-1=(71.125)10例:十六进制转换成十进制(2B)16=2×161+11×160=(43)101、二、八、十六进制数转换成十进制数2、十进制转换成其他进制转换规则整数部分采用除基数取余数,即对十进制整数逐次除以2,直至商数为0,逆向取每次得到的余数;小数部分采用乘基数取整法,即对十进制的小数部分逐次乘以2,直至乘积的小数部分为0,或是精确到第N位小数,取每次乘积的整数部分。即:整数部分—除2取余,逆向排列小数部分—乘2取整,正向排列(1)、十进制转换成二进制(1)、十进制转换成二进制举列2123261……余1(K0)230……余1(K1)215……余0(K2)27……余1(K3)23……余1(K4)21……余1(K5)0……余1(K6)(低位)(高位)如:(123)10=(1111011)2取整数部分0.2541×2=0.5082……00.5082×2=1.0164……10.0164×2=0.0328……00.0328×2=0.0656……0(高位)(低位)如:(0.2541)10=(0.0100)2(2)、十转换成八、十六进制转换规则整数部分采用除基数取余法,即对十进制整数逐次除以8(16),直至商数为0,逆向取每次得到的余数;小数部分采用乘基数取整法,即对十进制的小数部分逐次乘以8(16),直至乘积的小数部分为0,或是精确到第N位小数,取每次乘积的整数部分。即:整数部分—除8(16)取余,逆向排列小数部分—乘8(16)取整,正向排列(1)、十进制转换成八、十六进制举列如:(269)10=(415)88269833------584-------10-------4(0.25)10=(2)80.25×8=2如:(269)10=(10D)16162691616------13161-------01------1(0.25)10=(4)160.25×16=43、八、十六进制与二进制之间的转换由于3位二进制数所能表示的正好也是8个状态,因此1位8进制与3位二进制数之间就有一一对应关系。3位二进制的8种状态:000001010011100101110111如:(637.21)8=(110011111.010001)28421BCD编码二进制转换成8进制时,只需从小数点开始分别向左和向右每3位分成一组,用1位8进制数码代替即可。如(10110010.0100101)2=010110010.010010100=(262.224)8(1)、八进制与二进制之间的互换(2)、十六进制与二进制之间的互换由于4位二进制数所能表示的正好也是16个状态,因此1位16进制与4位二进制数之间就有一一对应关系。4位二进制的16种状态:00000001001000110100010101100111100010011010101111001101111011118421如:(DE2.A)16=(110111100010.1010)2二进制转换成16进制时,只需从小数点开始分别向左和向右每4位分成一组,用1位16进制数码代替即可。如(110110010.0100101)2=10110010.0100.1010=(B2.4A)8四、二进制的算术运算1、加法运算二进制加法规则共四条0+0=00+1=11+0=11+1=0如1011+1001101002、减法运算二进制减法规则共四条0-0=00-1=11-0=11-1=0如10101110-0111-0101001110013、乘法运算二进制加法规则共四条0+0=00+1=11+0=11+1=0如1101*101000001101000011010四、计算机的数据编码在计算机中只能识别二进制数码信息,因此一切非二进制数码的信息,如数字、字母、汉字等都要用二进制数的特定编码表示。编码有多种方法,但为了便于交换、处理,必须采用统一的编码方法。所谓编码,是指用一组规定的二进制码来表示特定的字符集合。例:二进制转换成十进制1、计算机的数据编码•ASCII码ASCII码是由美国国家标准委员会制定的一种包括数字、字母、通用符号、控制符号在内的字符编码集,全称叫美国国家信息交换标准代码(AmericanStandardCodeforInformationInterchange),是目前微型计算机中使用最普遍的字符编码集。1.3.3计算机的数据编码•ASCII码(1)编码原则:将每个字符用一组七位二进制代码表示,表示范围为0000000——1111111。(2)由于存放时必须占全一个字节,所以最高位b7位恒置0,可表示128个不同的符号,能表示通用的西文字符。(3)ASCII码值大小规律:小写字母大于大写字每,字母大于数字,所有的字符大于空格,空格大于所有的控制字符(“DEL”除外)。(4)相应的大小写字母之间ASCII码值相差32,换算成十六进制为20H。如B的ASCII码值为66(42H),则b的ASCII码值为66+32=98(42H+20H=62H)。1.3.3计算机的数据编码•ASCII码字符集1.3.3计算机的数据编码•汉字的编码(1)GB2312—80汉字国标码和区位码(2)汉字机内码(3)国标码、区位码和机内码的转换国标码=区位码+2020H机内码=国标码+8080H机内