当前位置:文档之家› 信息学奥赛-计算机基础知识.docx

信息学奥赛-计算机基础知识.docx

第一章计算机基础知识 (2)第一节数制及其转换 (2)第二节算术运算和逻辑运算 (3)第三节原码、反码和补码 (5)第四节浮点数的表示方法 (6)第五节奇偶校验 (7)第六节ASCII码表 (8)第二章计算机硬件基础 (9)第一节中央处理器 (9)第二节存储器系统 (10)第三节输入输出系统 (11)第三章网络基础知识 (12)第一节网络的组成与结构 (12)第二节网络协议 (13)第三节Internet相关知识 (13)第三节Internet相关知识 (14)第四章其他相关基础知识 (15)第一节计算机病毒 (15)第二节数据库系统 (15)第五章数据结构之线性结构 (16)第一节线性表 (16)第二节栈 (17)第三节队列 (18)第六章数据结构之非线性结构 (19)第一节树的概念 (19)笫二节树的表示方法和存储结构 (20)第三节二叉树的概念 (22)第四节二叉树的遍历 (24)第五节普通树的遍历 (27)第六节根据两种遍历顺序确定树结构 (28)第七节二叉排序树 (29)第八节最优二叉树(哈夫曼树) (30)AOE 网 (32)第一章计算机基础知识第一节数制及其转换一、二、八、十六进制转十进制的方法:乘权相加法。

例如:( 110 1 0110 ) 2 = 1 X27 + 1 X26 + 0 X 2'+ 1X2'+ 0X2‘+ 1X22 + 1X2'+ 0X2°=(214) io (2365) 8= 2X8'+ 3X82 + 6X81 + 5X8° = (1269) 10(4BF) 16二4X16'+ 11X161 + 15X16°二(1215)10带小数的情况:(110.011) 2 = 1X22 + 1X2' + 1X2°+ 0X2-1 + 1 X2-2 + 1X2-3 = (6. 375) 10(5. 76) 8 = 5X8°+ 7X8'1 + 6X8-2 = (5. 96875) 10(D. 1C)二13X16° + 1X16'+ 12*16之二(13. 109375) 10二、十进制化二进制的方法:整数部分除二取余法,小数部分乘二取整法。

例一:(43) 10 = (101011) 2除二取余法例二:(0.375) io = (0.011) 20.375 乘二取整法X 20.750 0X 2 ±0.500 1 IX 2列0.000 1除到商是o为止若除不尽可以保留一定小数位数三、二进制转八进制的方法一位数八进制与二进制对应表三、二进制转十六进制的方法一位数十六进制与二进制对应表四、进制的英文表示法:以上都是用括号加数字的表示方法,另外还有英文表示法,就是以BIN、OCT、HEX、DEC 分别代表二、八、十六、十进制。

或者只写第一个字母。

例如110113表示是二进制。

有些地方为了避免“0”跟“0”混淆,把0写成Q。

第二节算术运算和逻辑运算一、二进制的算术运算1、加法运算规则:0+0=0 0+1=1 1+0=1 1+1二102、减法运算规则:0-0=0 0-1=1 (向高位借1) 1-0=1 1-1=03、乘法运算规则:0X0=0 0X1=0 1X0=0 IX 1=1二、逻辑运算1、基本运算①逻辑乘,也称“与”运算,运算符为“ •”或“/V 0 • 0=0 0 ・ 1=0 1 • 0=0 1 • 1=1使用逻辑变量时,A-B可以写成AI3②逻辑加,也乘“或”运算,运算符为“ + ”或“V”0+0=0 0+1=1 1+0=1 1+1=1③逻辑非,也称“反”运算,运算符是在逻辑值或变量符号上加“一”6 = 1 1=02、常用运算异或运算:A ©B =A・B + A• B2、基本公式①0, 1律A • 0=0A • 1=AA+0二AA + l=l②交换律A+B=B+AA • B=B ・ A③结合律A+B+C = (A+B) +C = A+ (B+C) A • B • C = (A • B) • C = A • (B - C)④分配律A • (B+C) = A •B + A - C⑤重叠律A+A + ... +A 二AA • A • ... • A 二A⑥互补律A+A 二1 A • A = 0⑦吸收律A+A • B = A A - (A + B)二AA+A - B = A+B A - (A+B) = A • B⑧对合律对一个逻辑变量两次取反仍是它本身⑨德•摩根定理A +B 二A ・〃A«B= A+B三、逻辑代数的应用1、逻辑表达式化简例如:F 二%・B+A • B+A • B• B+A ( B+B) (利用分配律)=A+ B(利用吸收律)2、对指定位进行运算,假设变量A有八位,内容是cbcUWdddd①将变量A的出位清零A • (11011111) A②将变量A的各位置1A+ (11111111) ->A第三节原码、反码和补码计算机屮参与运算的数有正负Z分,计算机屮的数的正负号也是用二进制表示的。

用二进制数表示符号的数称为机器码。

常用的机器码有原码、反码和补码。

一、原码求原码的方法:设X;若XN0,则符号位(原码最高位)为0, X其余各位取值照抄; 若XW0,则符号位为1,具余各位照抄。

【例1] X二+1001001[X」原二01001001【例2] X=-1001001[X]原二11001001二、反码求反码的方法:设X;若X20,则符号位(原码最高位)为0, X其余各位取值照抄;若XW0,则符号位为1,其余各位按位取反。

【例3] X二+1001001[X]反二01001001[X]反二10110110【例4] X二-1001001三、补码求补码的方法:设X;若X20,则符号位(原码最高位)为0, X其余齐位取值照抄;若X W0,则符号位为1,具余各位按位取反后,最低位加1。

【例5] X二+1001001[X]补=01001001【例6] X二-1001001[X]补=10110111四、补码加减法计算机中实际上只有加法,减法运算转换成加法运算进行,乘法运算转换成加法运算进行,除法运算转换成减法运算进行。

用补码可以很方便的进行这种运算。

1、补码加法[X+Y]补二[X]补 + [Y]补[例7】X二+0110011, Y二-0101001,求[X+Y]补[X]补=00110011 [Y]补=11010111[X+Y]补二[X]补 + [Y]补二00110011+11010111二00001010注:因为计算机中运算器的位长是固定的,上述运算中产生的最高位进位将丢掉,所以结果不是100001010,而是00001010c2、补码减法[X-Y]补=[X]补-[Y]补=[X]补 + [-Y]补其屮[-丫]补称为负补,求负补的方法是:对补码的每一位(包括符号位)求反,最后末位加“ 1 ” o【例8】X二+0111001, Y二+1001101,求[X-Y]补[X]补二00111001 [Y]补=01001101 [―Y]补二10110011[X-Y]补二[X]补 + [-Y]补二00111001+10110011=11101100五、数的表示范围通过上面的学习,我们就可以知道计算机如果用一个字节表示一个整数的时候,如果是无符号数,可以表示0~255共256个数(00000000~11111111),如果是有符号数则能表示-128^127共256个数(10000000^01 111 111) 0如果两个字节表示一个整数, 则共有65536个数可以表示,大部分程序设计语言中整数的范閑都是-32768^32767的原因,可以看出这种整数类型是16位的有符号数,而且是补码表示的。

第四节浮点数的表示方法一、浮点数表示-个数的浮点形式(设基数是2)可写成:N = M X 2'"其中:M代表尾数,E代表阶码。

计算机中浮点攀只用尾数和阶码表示,J壬形式如下:| 阶码|尾数符号| 尾数一|浮点数的精度由尾数决定,数的表示范围由阶码的位数决定。

为了最大限度提高精度,尾数采用规格化形式,既采用二进制表示时, 若尾数大于零,则规格化数应该是01XXXX的形式;若尾数小丁•零,则规格化数应为10XXXX的形式。

二、机器零当浮点数的尾数为0或阶码为最小值时,计算机通常把该数当作零,因此程序中进行浮点运算时,判断某数是否为零,通常可以用小丁某个极小值来代替。

三、实例【例1】设X二0.0110X2:;,用补码、浮点数形式表示阶码为X-011,尾数为00110,这时由于X尾数不符合01XXXX的形式,因此不是规格化数,必须先进行规格化处理。

方法:若尾数小于1/2,把尾数左移一位(不包括符号位),观察结果是否满足规格化条件,满足则在把阶码减1即可,否则继续左移和调整阶码;若尾数大丁J,则把尾数右移一位(不包括符号位),观察结果是否满足规格化条件,满足则在把阶码加1即可, 否则继续右移和调整阶码。

上例中,00110左移一位为01100,符合规则化标准,此时阶码减1,为010即得到浮点表示形式。

这个数具体在计算机中如何表示要看计算机中规定的阶码和尾数的位数,若阶码和尾数均为16位,则上而的数X在计算机内部表示就是00000000000000100110000000000000 ,不足均用零填充。

第五节奇偶校验计算机中数据在进行存储和传输过程中可能会发生错误。

为了及时发现和纠正这类错误,在数据传输(存储)过程中耍进行校验,常用的校验方法就是奇偶校验。

奇偶校验能发现一位或奇数位错误,且不能纠正错误。

一般以字节(八位二进制)为单位加1位奇偶校验位。

奇偶校验分奇校验和偶校验两种。

一、奇校验:一个字节前面加一位校验位使得“1”的个数保持为奇数,若八位二进制数中“1”的个数为偶数,则校验位为“1” ;若八位二进制数中“1”的个数为奇数,则校验位为“0”。

【例1】给1001100101101101 加奇校验结果为110011001001101101二、偶校验:一个字节前而加一位校验位使得“1”的个数保持为偶数,若八位二进制数中“1”的个数为偶数,则校验位为“0” :若八位二进制数中“1”的个数为奇数,则校验位为T °【例2】给1001100101101101 加偶校验结果为010011001101101101第六节ASCII码表目前使用最广泛的西文字符集及其编码是ASCII字符集和ASCII码(ASCII是American Standard Code for Information Interchange的缩写),它同时也被国际标准化组织(International Organization for Standardization, ISO )批准为国际标准。

相关主题