《第1章计算机科学基础.docx》由会员分享,可在线阅读,更多相关《第1章计算机科学基础.docx(18页珍藏版)》请在优知文库上搜索。
1、第1章计算机科学基础从历次考试试题来看,计算机科学基础知识是网络管理员考试的一个重点,占上午考试的4分左右。根据考试大纲的规定,本章需要考生掌握的考点主要有以下三个方面:(1)数制及转换:包括二进制、十进制和十六进制等常用数制及其相互转换。(2)数据的表示:包括数的表示(原码、反码、补码表示,整数和实数的机内表示)、非数值表示(字符和汉字表示、声音表示、图像表示)、校验方法和校验码(奇偶校验、海明校验、CRC校验)。(3)数据运算:主要考查计算机中的二进制数运算方法。1.1 数制及其转换数据的表示方法有二进制、八进制、十进制和十六进制等。网络管理员考试要求重点掌握这四种进制之间的数据转换方法。
2、1.1.1 进制的表示在日常生活中,用十进制来表示数已经广泛被人们所接受。但是由于计算机底层使用的电路硬件通常只能够清晰地表示两种状态,即开和关,或者说高电平和低电平。如果使用十进制,将会使得计算机底层的设计变得过于复杂,而且容易出错,因此通常采用二进制来表示数。二进制数比较长和比较容易看错,不便于人们进行思考和操作,所以通常采用八进制和十六进制来解决这个问题,八进制和十六进制的表示方法既缩短了二进制数的位数,又保留了二进制数的表达特点。R进制,通常说法就是逢R进1。可以用的数为R个,分别是O,I,2,,/?-1,例如八进制数的基数为8,即可以用到的数码个数为8,它们是0,1,2,3,4,5,
3、6,7。二进制数的基数为2,可用的数码个数为2,它们是。和1。对于十六进制,它的数码为0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。为了把不同的进制数分开表示,避免造成混沼,通常采用下标的方式来表示一个数的进制,如十进制数88表示为:(88)o,八进制数76表示为:(76%。在计算机专业术语的表达中,通常在数字的后面加大写“H”表示十六进制,例如,FCH就表示十六进制数FCo对于任意一个R进制数,它的每一位数值等于该位的数码乘以该位的权数。权数由一个暴N表示,即辕的底数是R,指数为七A与该位和小数点之间的距离有关。当该位位于小数点左边,攵值是该位和小数点之间数码的个数,而当该
4、位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加Io例如,八进制数234.56,其数值可计算如下:234.56=2义82+381+4乂8+5乂87+6乂8-2=128+24+4+5用+6/64=156.71875又如,二进制数IOlOo.01的值可计算如下:10100.01=124122+l2-2=16+4+0.25=20.25按照上面的表示法,即可计算出R进制数转换成十进制数的值。十进制整数转换成R进制数,最常用的是“除以R取余法”。例如,将十进制数94转换为二进制数:194147231111512122 2 2 2 2余0110I将所得的余数从低位到高位排列,O2就是9
5、4的二进制数。十进制小数转换为R进制小数,则采用“乘以R取进位法”。例如,将十进制小数0.43转换成二进制小数的过程如下(假设要求小数点后取5位):0.43X2高位00.86X210.72X210.44X200.88X2即转换后的二进制小数为(0.01101)1.1.3 二进制数与八进制数的转换将二进制数转换为八进制数,以小数点为分界线,分别从右到左(整数部分)和从左到右(小数部分),将每3位二进制数转换为八进制数即可,最后不足3位的,则在最高位补O(整数部分)或最低位补O(小数部分)。例如,二进制数转换为八进制数,则可以分为3段(OOI,011,110),其对应的八进制数为(1,3,6),因
6、此,()2=(136)8o又如,二进制数IolOO.0101转换为八进制数,则需要在整数部分的最高位补I个0,在小数部分的最低位补2个0,然后分为4段(OlO,100,010,100),其对应的八进制数为(2,4,2,4),因此,(10100.0101)2=(24.24)81,相反,将八进制数转换为二进制数,只要将每位八进制数转换为3位二进制数即可。例如,八进制数56.23转换为二进制数,因为5=101,6=110,2=010,3=011,所以(56.23)8=(101110.010011)2o1.1.4 二进制数与十六进制数的转换将二进制数转换为十六进制数,以小数点为分界线,分别从右到左(整
7、数部分)和从左到右(小数部分),将每4位二进制数转换为十六进制数即可,最后不足4位的,则在最高位补0(整数部分)或最低位补0(小数部分)。例如,二进制数转换为十六进制数,则可以分为2段(HOLUI0),其对应的十六进制数为(5,E),因此,()2=5EHo又如,二进制数IIoloO.10111转换为十六进制数,则需要在整数部分的最高位补2个0,在小数部分的最低位补3个0,然后分为4段(0011,0100,1011,1000),其对应的十六进制数为(3,4,B,8),因此,(110100.10111)2=34.B8Ho相反,将十六进制数转换为二进制数,只要将每位十六进制数转换为4位二进制数即可。
8、例如,十六进制数D6.C3H转换为二进制数,因为D=IlOl,6=0110,C=IlOO,3=0011,所以D6.C3H=(.)2。1.2数据的表示网络管理员考试要求考生主要掌握数的表示(原码、反码、补码表示法,整数和实数的机内表示)、非数值表示(字符和汉字表示、声音表示、图像表示)、校验方法和校验码(奇偶校验、海明校验、CRC校验)等知识。1.2.1 数值的编码表示本节主要要求掌握原码、反码、补码和移码的概念和特点。1 .原码原码表示法是在数值前面增加了一位符号位(即最高位为符号位),该位为O时表示正数,为1时则表示负数,其余各位表示数值的大小。这种方式简单直观,也是最容易理解的。例如:假设
9、用8位表示一个数字,则+11的原码是,Tl的原码是。其缺点就是原码直接参加运算可能会出现错误的结果。例如:(I)K)+(-Dio=Oo如果直接使用原码,则:()2+()2=()2,这样计算的结果是-2,显然出错了。所以,原码的符号位不能直接参与计算,必须和其他位分开,这样会增加硬件的开销和复杂性。2 .反码反码表示法和原码表示法一样是在数值前面增加了一位符号位(即最高位为符号位),正数的反码与原码相同,负数的反码符号位为1,其余各位为该数绝对值的原码按位取反。例如:+11的反码是,-11的反码为。同样对于(l)o(-l)o=O,如果使用反码,贝U:(2()2=()2结果为负0,而在人们的观念中
10、,O是不分正负的。反码的符号位可以直接参与计算,而且减法也可以转换为加法运算。注意:用反码进行两数相加时,若最高位有进位,还必须把该进位值加到结果的最低位,才能得到真正的结果,这一操作通称“循环进位”。3 .补码补码表示法和原码表示法一样是在数值前面增加了一位符号位(即最高位为符号位),正数的补码与原码相同,负数的补码是该数的反码加L这个加1就是“补”。例如:+11的补码是,Tl的补码为。同样对于(I)Io+(-Dio=0,如果使用补码,贝J:()2+()2=()2,直接使用补码计算的结果是正确的。也就是说,补码中O是唯一表示的。在大部分的计算机系统中,数据都使用补码表示,因为采用补码能使符号
11、位与有效值部分一起参加运算,从而简化了运算规则,同时它也使减法运算转换为加法运算,硬件电路只需要设计加法器。4 .移码移码又称为增码,一般用来表示浮点数的阶码,其定义为:X移=2+X(-2X2)移码的符号表示和补码相反,1表示正数,O表示负数。5 .数据的表示范围对于原码、反码和补码,假设用位表示数据(二进制),则各种表示方法的表示范围如表1-1所示。表1-1各种码制所表示数的范围定点整数定点小数原码2T-l)2T-1X1反码-(2n-,-I)-2rt-1-l-1X1补码一2n-2rt-IX11.2.2非数值信息的表示计算机除了处理数值信息以外,还要处理大量的非数值类型的信息,比如字母、汉字、
12、声音、图像等等,然而计算机只能处理二进制数据,当这些非数值类型的信息应用在计算机内,都必须转换为二进制的表现形式。1 .ASClI码为了表示英文字母和其他一些符号、控制符,计算机中普遍采用的是ASCIl码。它使用7位代表一个字符,包括了字母的大小写、数字、标点、控制符等。计算机通常使用8位一个字节来存储,其高位为Oo表1-2列出了全部128种字符的ASCII码字符编码表。表1-2ASCII码表血bbybibx000001010Oll100101HO1110000NULDLESPACE0PP0001SOHDCIJ1AQAQ0010STXDC2,2BRBR0011ETXDC3#3CSCS0100E
13、OTDC4$4DTDT0101ENONAK%5EUEU0110ACKSYN&6FVFVOlllBELETB7GWGW1000BSCAN(8HXHX1001HTEM)9IY1Y1010LFSUBJZJZ1011VTESC+:KK1100FFFSNNIIllSIUS/?O一ODEL2 .汉字编码汉字与西方字符相比,汉字数量大,字型复杂,同音字多,这就给汉字在计算机内部的存储、传输、交换、输入、输出等带来了一系列的问题。为了能直接使用西文标准键盘输入汉字,必须为汉字设计相应的编码,以适应计算机处理汉字的需要。表1-3列出了常见的汉字字符编码。表1-3常见的汉字字符编码编码类型主要类型汉字国标码(GB
14、2313-80)(1)共收集常用汉字6763个,其中一级汉字3755个,按拼音排序;二级汉字3(X)8个,按部首排序;各种图形符号682个,共计7445个:(2)每个汉字、图形符号都采用两个字节表示,每个字节只使用低7位编码。可达到的最大容量是16384个汉字区位码(1)将GB2313-80中的汉字分为94个区,每个区包含94个汉字(位),区号和位号来表示汉字;(2)国标码=区位码(十六进制)+2020H汉字机内码(1)汉字机内码采用的是两个字节的编码,而每个编码只使用低7位,这样就和ASCII混淆了,因此在机内表示时将每个字节的最高位置为1;(2)汉字机内码与国标码的关系为:机内码=国标码+808OHGB12345-90(1)繁体字的编码标准,共收录6866个汉字,纯繁体有2200余个:(2)每个汉字都采用双字节编码GBK(1)共收录汉字21003个,符号883个,并提供1894个造字码位,其特点是简、繁体字融于一库:(2)采用双字节编码GB18030(1)涵盖了27484个汉字,繁、简体均处于一个平台:(2)采用单字节、双字节、4字节混合编码,总编码空间超